diff options
Diffstat (limited to 'bits')
-rw-r--r-- | bits/byteswap-16.h | 3 | ||||
-rw-r--r-- | bits/byteswap.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/bits/byteswap-16.h b/bits/byteswap-16.h index 078dd0e..6cc1d30 100644 --- a/bits/byteswap-16.h +++ b/bits/byteswap-16.h @@ -23,7 +23,8 @@ #ifdef __GNUC__ # define __bswap_16(x) \ (__extension__ \ - ({ unsigned short int __bsx = (x); __bswap_constant_16 (__bsx); })) + ({ unsigned short int __bsx = (unsigned short int) (x); \ + __bswap_constant_16 (__bsx); })) #else static __inline unsigned short int __bswap_16 (unsigned short int __bsx) diff --git a/bits/byteswap.h b/bits/byteswap.h index d818293..3ca0ad6 100644 --- a/bits/byteswap.h +++ b/bits/byteswap.h @@ -27,7 +27,7 @@ /* Swap bytes in 16 bit value. */ #define __bswap_constant_16(x) \ - ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8)) + ((unsigned short int)((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))) /* Get __bswap_16. */ #include <bits/byteswap-16.h> |