Upstream tons of RISC-V changes.
[fw/openocd] / src / helper / binarybuffer.h
index a8343c2aa091a80a8715d898f383fb265c7a3f0c..36d6adc6f2e61f433e4cf3d0b46962ee9ea11e71 100644 (file)
@@ -19,8 +19,8 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-#ifndef BINARYBUFFER_H
-#define BINARYBUFFER_H
+#ifndef OPENOCD_HELPER_BINARYBUFFER_H
+#define OPENOCD_HELPER_BINARYBUFFER_H
 
 #include "list.h"
 
@@ -33,6 +33,7 @@
  * using the bits in @c value.  This routine fast-paths writes
  * of little-endian, byte-aligned, 32-bit words.
  * @param _buffer The buffer whose bits will be set.
+ *     Do not use uninitialized buffer or clang static analyzer emits a warning.
  * @param first The bit offset in @c _buffer to start writing (0-31).
  * @param num The number of bits from @c value to copy (1-32).
  * @param value Up to 32 bits that will be copied to _buffer.
@@ -62,6 +63,7 @@ static inline void buf_set_u32(uint8_t *_buffer,
  * using the bits in @c value.  This routine fast-paths writes
  * of little-endian, byte-aligned, 64-bit words.
  * @param _buffer The buffer whose bits will be set.
+ *     Do not use uninitialized buffer or clang static analyzer emits a warning.
  * @param first The bit offset in @c _buffer to start writing (0-63).
  * @param num The number of bits from @c value to copy (1-64).
  * @param value Up to 64 bits that will be copied to _buffer.
@@ -118,7 +120,7 @@ static inline uint32_t buf_get_u32(const uint8_t *_buffer,
                uint32_t result = 0;
                for (unsigned i = first; i < first + num; i++) {
                        if (((buffer[i / 8] >> (i % 8)) & 1) == 1)
-                               result |= 1 << (i - first);
+                               result |= 1U << (i - first);
                }
                return result;
        }
@@ -199,7 +201,7 @@ void *buf_set_buf(const void *src, unsigned src_start,
 
 int str_to_buf(const char *str, unsigned len,
                void *bin_buf, unsigned buf_size, unsigned radix);
-char *buf_to_str(const void *buf, unsigned size, unsigned radix);
+char *buf_to_hex_str(const void *buf, unsigned size);
 
 /* read a uint32_t from a buffer in target memory endianness */
 static inline uint32_t fast_target_buffer_get_u32(const void *p, bool le)
@@ -234,8 +236,8 @@ void bit_copy_discard(struct bit_copy_queue *q);
 
 /* functions to convert to/from hex encoded buffer
  * used in ti-icdi driver and gdb server */
-int unhexify(char *bin, const char *hex, int count);
-int hexify(char *hex, const char *bin, int count, int out_maxlen);
+size_t unhexify(uint8_t *bin, const char *hex, size_t count);
+size_t hexify(char *hex, const uint8_t *bin, size_t count, size_t out_maxlen);
 void buffer_shr(void *_buf, unsigned buf_len, unsigned count);
 
-#endif /* BINARYBUFFER_H */
+#endif /* OPENOCD_HELPER_BINARYBUFFER_H */