improve buf_set_ones
Use memset instead of loop. Improve types, using void * and unsigned.
This commit is contained in:
parent
d09e308130
commit
d8d8c5d8c3
|
@ -113,17 +113,17 @@ bool buf_cmp_mask(const void *_buf1, const void *_buf2,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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++)
|
uint8_t *buf = _buf;
|
||||||
{
|
if (!buf)
|
||||||
if (count >= 8)
|
return NULL;
|
||||||
buf[i] = 0xff;
|
|
||||||
else
|
|
||||||
buf[i] = (1 << count) - 1;
|
|
||||||
|
|
||||||
count -= 8;
|
memset(buf, 0xff, size / 8);
|
||||||
}
|
|
||||||
|
unsigned trailing_bits = size % 8;
|
||||||
|
if (trailing_bits)
|
||||||
|
buf[size / 8] = (1 << trailing_bits) - 1;
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,8 @@ bool buf_cmp_mask(const void *buf1, const void *buf2,
|
||||||
|
|
||||||
void* buf_cpy(const void *from, void *to, unsigned size);
|
void* buf_cpy(const void *from, void *to, unsigned size);
|
||||||
|
|
||||||
uint8_t* buf_set_ones(uint8_t *buf, int count);
|
void* buf_set_ones(void *buf, unsigned count);
|
||||||
|
|
||||||
uint8_t* buf_set_buf(const uint8_t *src, int src_start,
|
uint8_t* buf_set_buf(const uint8_t *src, int src_start,
|
||||||
uint8_t *dst, int dst_start, int len);
|
uint8_t *dst, int dst_start, int len);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue