ARM7_9: Fix segfaults
[fw/openocd] / src / helper / binarybuffer.c
index 8275d12476ad40ad55eacb1e9d188c8bb0cc5b32..081cc037ebd6c346ae2b360124f81f463914a99c 100644 (file)
@@ -54,7 +54,7 @@ void* buf_cpy(const void *from, void *_to, unsigned size)
                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;
@@ -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);
@@ -188,11 +191,11 @@ char* buf_to_str(const void *_buf, unsigned buf_len, unsigned radix)
                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];
@@ -297,7 +300,7 @@ int str_to_buf(const char *str, unsigned str_len,
        }
 
        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];