return NULL;
// copy entire buffer
- memcpy(_to, from, CEIL(size, 8));
+ memcpy(_to, from, DIV_ROUND_UP(size, 8));
/* mask out bits that don't belong to the buffer */
unsigned trailing_bits = size % 8;
}
-uint8_t* buf_set_ones(uint8_t *buf, int count)
+void* buf_set_ones(void *_buf, unsigned size)
{
- for (unsigned i = 0, num_bytes = CEIL(count, 8); i < num_bytes; i++)
- {
- if (count >= 8)
- buf[i] = 0xff;
- else
- buf[i] = (1 << count) - 1;
+ uint8_t *buf = _buf;
+ if (!buf)
+ return NULL;
- count -= 8;
- }
+ memset(buf, 0xff, size / 8);
+
+ unsigned trailing_bits = size % 8;
+ if (trailing_bits)
+ buf[size / 8] = (1 << trailing_bits) - 1;
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);
return NULL;
}
- unsigned str_len = ceil_f_to_u32(CEIL(buf_len, 8) * factor);
+ unsigned str_len = ceil_f_to_u32(DIV_ROUND_UP(buf_len, 8) * factor);
char *str = calloc(str_len + 1, 1);
const uint8_t *buf = _buf;
- int b256_len = CEIL(buf_len, 8);
+ int b256_len = DIV_ROUND_UP(buf_len, 8);
for (int i = b256_len - 1; i >= 0; i--)
{
uint32_t tmp = buf[i];
}
uint8_t *buf = _buf;
- for (unsigned j = 0; j < CEIL(buf_len, 8); j++)
+ for (unsigned j = 0; j < DIV_ROUND_UP(buf_len, 8); j++)
{
if (j < b256_len)
buf[j] = b256_buf[j];