summaryrefslogtreecommitdiff
path: root/bits
diff options
context:
space:
mode:
Diffstat (limited to 'bits')
-rw-r--r--bits/byteswap-16.h3
-rw-r--r--bits/byteswap.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/bits/byteswap-16.h b/bits/byteswap-16.h
index 078dd0e17a..6cc1d30932 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 d818293a4c..3ca0ad6986 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>