diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-14 10:44:37 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-16 00:46:34 -0800 |
commit | 21b452cf675bd3bb307c0d58c6cc45a028d7df3a (patch) | |
tree | 029f74098d43dff4afabe79d0429ae8a50d04b1f /src/helper/binarybuffer.c | |
parent | d8d8c5d8c3e47a38059952c3407bb819c5c33d05 (diff) | |
download | riscv-openocd-21b452cf675bd3bb307c0d58c6cc45a028d7df3a.zip riscv-openocd-21b452cf675bd3bb307c0d58c6cc45a028d7df3a.tar.gz riscv-openocd-21b452cf675bd3bb307c0d58c6cc45a028d7df3a.tar.bz2 |
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/helper/binarybuffer.c')
-rw-r--r-- | src/helper/binarybuffer.c | 9 |
1 files changed, 6 insertions, 3 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); |