diff options
Diffstat (limited to 'include/byteswap.h')
-rw-r--r-- | include/byteswap.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/byteswap.h b/include/byteswap.h index 4ebd90e3..8689cd57 100644 --- a/include/byteswap.h +++ b/include/byteswap.h @@ -3,17 +3,26 @@ #include <stdint.h> -static inline uint16_t __bswap_16(uint16_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint16_t __bswap_16(uint16_t __x) { return __x<<8 | __x>>8; } -static inline uint32_t __bswap_32(uint32_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint32_t __bswap_32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -static inline uint64_t __bswap_64(uint64_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint64_t __bswap_64(uint64_t __x) { return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32); } |