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.
__archive__
Zachary T Welch 2009-11-14 10:44:37 -08:00
parent d8d8c5d8c3
commit 21b452cf67
2 changed files with 8 additions and 5 deletions

View File

@ -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);

View File

@ -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);