diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-14 06:26:55 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-16 00:46:34 -0800 |
commit | d6348d4316ea71b9ad232fd63a0a39ed84d8e8b7 (patch) | |
tree | df0aa0bb5e29cd17aa0675aeaaf3b6048fa49dfb /src/helper | |
parent | 21b452cf675bd3bb307c0d58c6cc45a028d7df3a (diff) | |
download | openocd_libswd-d6348d4316ea71b9ad232fd63a0a39ed84d8e8b7.tar.gz openocd_libswd-d6348d4316ea71b9ad232fd63a0a39ed84d8e8b7.tar.bz2 openocd_libswd-d6348d4316ea71b9ad232fd63a0a39ed84d8e8b7.tar.xz openocd_libswd-d6348d4316ea71b9ad232fd63a0a39ed84d8e8b7.zip |
improve inline binarybuffer helpers
Use void*, unsigned, and bool types with inline helpers.
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/binarybuffer.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/helper/binarybuffer.h b/src/helper/binarybuffer.h index 9397fcfc..e8931ab7 100644 --- a/src/helper/binarybuffer.h +++ b/src/helper/binarybuffer.h @@ -29,10 +29,10 @@ * Support functions to access arbitrary bits in a byte array */ -/* inlining this will help show what fn that is taking time during profiling. */ -static inline void buf_set_u32(uint8_t* buffer, - unsigned int first, unsigned int num, uint32_t value) +static inline void buf_set_u32(void *_buffer, + unsigned first, unsigned num, uint32_t value) { + char *buffer = (char *)_buffer; if ((num == 32) && (first == 0)) { buffer[3] = (value >> 24) & 0xff; buffer[2] = (value >> 16) & 0xff; @@ -48,9 +48,10 @@ static inline void buf_set_u32(uint8_t* buffer, } } } -static inline uint32_t buf_get_u32(const uint8_t* buffer, - unsigned int first, unsigned int num) +static inline uint32_t buf_get_u32(const void *_buffer, + unsigned first, unsigned num) { + char *buffer = (char *)_buffer; if ((num == 32) && (first == 0)) { return (((uint32_t)buffer[3]) << 24) | (((uint32_t)buffer[2]) << 16) | @@ -68,7 +69,7 @@ static inline uint32_t buf_get_u32(const uint8_t* buffer, } /// flip_u32 inverts the bit order inside a 32-bit word (31..0 -> 0..31) -uint32_t flip_u32(uint32_t value, unsigned int num); +uint32_t flip_u32(uint32_t value, unsigned num); bool buf_cmp(const void *buf1, const void *buf2, unsigned size); bool buf_cmp_mask(const void *buf1, const void *buf2, @@ -88,7 +89,7 @@ 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 uint8_t *p, int le) +static inline uint32_t fast_target_buffer_get_u32(const void *p, bool le) { return le ? le_to_h_u32(p) : be_to_h_u32(p); } |