aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-11-14 10:44:37 -0800
committerZachary T Welch <zw@superlucidity.net>2009-11-16 00:46:34 -0800
commit21b452cf675bd3bb307c0d58c6cc45a028d7df3a (patch)
tree029f74098d43dff4afabe79d0429ae8a50d04b1f /src
parentd8d8c5d8c3e47a38059952c3407bb819c5c33d05 (diff)
improve buf_set_buf helper
Use void * and unsigned types for buffer and their sizes. Allows it to be used with more than uint8_t * without casts.
Diffstat (limited to 'src')
-rw-r--r--src/helper/binarybuffer.c9
-rw-r--r--src/helper/binarybuffer.h4
2 files changed, 8 insertions, 5 deletions
diff --git a/src/helper/binarybuffer.c b/src/helper/binarybuffer.c
index 8275d124..53ad4d39 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 b988e403..9397fcfc 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);