X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Fbinarybuffer.h;h=ae0ee9a101b2452b30658129769060a0ae49c71b;hb=395d3bff8ce59d6c5a34e0a626010343ca9909ba;hp=9e0cc9b72c9774edec4f73dab214b9104e6d1110;hpb=45527ee82c9e7c93b29b79f01f52d663960649c2;p=openocd.git diff --git a/src/helper/binarybuffer.h b/src/helper/binarybuffer.h index 9e0cc9b72c..ae0ee9a101 100644 --- a/src/helper/binarybuffer.h +++ b/src/helper/binarybuffer.h @@ -23,7 +23,7 @@ #ifndef BINARYBUFFER_H #define BINARYBUFFER_H -#include "types.h" +#include /** @file * Support functions to access arbitrary bits in a byte array @@ -41,7 +41,8 @@ static inline void buf_set_u32(void *_buffer, unsigned first, unsigned num, uint32_t value) { - char *buffer = (char *)_buffer; + uint8_t *buffer = (uint8_t *)_buffer; + if ((num == 32) && (first == 0)) { buffer[3] = (value >> 24) & 0xff; buffer[2] = (value >> 16) & 0xff; @@ -69,7 +70,8 @@ static inline void buf_set_u32(void *_buffer, static inline uint32_t buf_get_u32(const void *_buffer, unsigned first, unsigned num) { - char *buffer = (char *)_buffer; + uint8_t *buffer = (uint8_t *)_buffer; + if ((num == 32) && (first == 0)) { return (((uint32_t)buffer[3]) << 24) | (((uint32_t)buffer[2]) << 16) | @@ -124,8 +126,6 @@ int str_to_buf(const char *str, unsigned len, void *bin_buf, unsigned buf_size, unsigned radix); char* buf_to_str(const void *buf, unsigned size, unsigned radix); -#define CEIL(m, n) (((m) + (n) - 1) / (n)) - /* read a uint32_t from a buffer in target memory endianness */ static inline uint32_t fast_target_buffer_get_u32(const void *p, bool le) {