diff options
Diffstat (limited to 'include/endian.h')
-rw-r--r-- | include/endian.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/endian.h b/include/endian.h index a08c1b63..9652c30b 100644 --- a/include/endian.h +++ b/include/endian.h @@ -16,17 +16,26 @@ #include <stdint.h> -static inline uint16_t __bswap16(uint16_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint16_t __bswap16(uint16_t __x) { return __x<<8 | __x>>8; } -static inline uint32_t __bswap32(uint32_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint32_t __bswap32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -static inline uint64_t __bswap64(uint64_t __x) +#if __STDC_VERSION__ >= 199901L +inline +#endif +static uint64_t __bswap64(uint64_t __x) { return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); } |