Use void * and unsigned types for buffer and their sizes.
Allows it to be used with more than uint8_t * without casts.

Signed-off-by: Zachary T Welch <z...@superlucidity.net>
---
 src/helper/binarybuffer.c |    9 ++++++---
 src/helper/binarybuffer.h |    4 ++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/helper/binarybuffer.c b/src/helper/binarybuffer.c
index 8275d12..53ad4d3 100644
--- a/src/helper/binarybuffer.c
+++ b/src/helper/binarybuffer.c
@@ -128,11 +128,14 @@ void* buf_set_ones(void *_buf, unsigned size)
        return buf;
 }
 
-uint8_t* buf_set_buf(const uint8_t *src, int src_start, uint8_t *dst, int 
dst_start, int len)
+void* buf_set_buf(const void *_src, unsigned src_start,
+               void *_dst, unsigned dst_start, unsigned len)
 {
-       int src_idx = src_start, dst_idx = dst_start;
+       const uint8_t *src = _src;
+       uint8_t *dst = _dst;
 
-       for (int i = 0; i < len; i++)
+       unsigned src_idx = src_start, dst_idx = dst_start;
+       for (unsigned i = 0; i < len; i++)
        {
                if (((src[src_idx / 8] >> (src_idx % 8)) & 1) == 1)
                        dst[dst_idx / 8] |= 1 << (dst_idx % 8);
diff --git a/src/helper/binarybuffer.h b/src/helper/binarybuffer.h
index b988e40..9397fcf 100644
--- a/src/helper/binarybuffer.h
+++ b/src/helper/binarybuffer.h
@@ -78,8 +78,8 @@ void* buf_cpy(const void *from, void *to, unsigned size);
 
 void* buf_set_ones(void *buf, unsigned count);
 
-uint8_t* buf_set_buf(const uint8_t *src, int src_start,
-               uint8_t *dst, int dst_start, int len);
+void* buf_set_buf(const void *src, unsigned src_start,
+               void *dst, unsigned dst_start, unsigned len);
 
 int str_to_buf(const char *str, unsigned len,
                void *bin_buf, unsigned buf_size, unsigned radix);
-- 
1.6.4.4

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to