binarybuffer: Remove unnecessary cast and fix hidden "bug" 76/1776/2
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sat, 28 Sep 2013 21:01:07 +0000 (23:01 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 31 Oct 2013 20:45:26 +0000 (20:45 +0000)
Because of the cast, the const decoration on the parameter provided no
guarantee against modification since it was silently discarded.

Change-Id: Ib83ade955e1a61ee2175c690620437b5e19cbb6a
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1776
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/helper/binarybuffer.c
src/helper/binarybuffer.h

index 6fe3664..a3c993d 100644 (file)
@@ -148,7 +148,7 @@ void *buf_set_buf(const void *_src, unsigned src_start,
        if ((sq == 0) && (dq == 0) &&  (lq == 0)) {
                for (i = 0; i < lb; i++)
                        *dst++ = *src++;
-               return (uint8_t *)_dst;
+               return _dst;
        }
 
        /* fallback to slow bit copy */
@@ -167,7 +167,7 @@ void *buf_set_buf(const void *_src, unsigned src_start,
                }
        }
 
-       return (uint8_t *)_dst;
+       return _dst;
 }
 
 uint32_t flip_u32(uint32_t value, unsigned int num)
index 5b86c5f..9c20bcd 100644 (file)
@@ -42,7 +42,7 @@
 static inline void buf_set_u32(void *_buffer,
        unsigned first, unsigned num, uint32_t value)
 {
-       uint8_t *buffer = (uint8_t *)_buffer;
+       uint8_t *buffer = _buffer;
 
        if ((num == 32) && (first == 0)) {
                buffer[3] = (value >> 24) & 0xff;
@@ -71,7 +71,7 @@ static inline void buf_set_u32(void *_buffer,
 static inline void buf_set_u64(void *_buffer,
        unsigned first, unsigned num, uint64_t value)
 {
-       uint8_t *buffer = (uint8_t *)_buffer;
+       uint8_t *buffer = _buffer;
 
        if ((num == 32) && (first == 0)) {
                buffer[3] = (value >> 24) & 0xff;
@@ -109,7 +109,7 @@ static inline void buf_set_u64(void *_buffer,
 static inline uint32_t buf_get_u32(const void *_buffer,
        unsigned first, unsigned num)
 {
-       uint8_t *buffer = (uint8_t *)_buffer;
+       const uint8_t *buffer = _buffer;
 
        if ((num == 32) && (first == 0)) {
                return (((uint32_t)buffer[3]) << 24) |
@@ -138,7 +138,7 @@ static inline uint32_t buf_get_u32(const void *_buffer,
 static inline uint64_t buf_get_u64(const void *_buffer,
        unsigned first, unsigned num)
 {
-       uint8_t *buffer = (uint8_t *)_buffer;
+       const uint8_t *buffer = _buffer;
 
        if ((num == 32) && (first == 0)) {
                return 0 + ((((uint32_t)buffer[3]) << 24) |   /* Note - zero plus is to avoid a checkpatch bug */