Make sure result of all the functions and macros is unsigned.
authordrepper <drepper>
Tue, 15 Feb 2005 22:48:05 +0000 (22:48 +0000)
committerdrepper <drepper>
Tue, 15 Feb 2005 22:48:05 +0000 (22:48 +0000)
bits/byteswap.h
sysdeps/generic/bits/byteswap.h

index 38d8540..5f08fed 100644 (file)
@@ -1,5 +1,5 @@
 /* Macros to swap the order of bytes in integer values.
-   Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2001,2002,2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 # define __bswap_16(x) \
     (__extension__                                                           \
      ({ unsigned short int __bsx = (x);                                              \
-        ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
+        ((((__bsx) >> 8) & 0xffu) | (((__bsx) & 0xffu) << 8)); }))
 #else
 static __inline unsigned short int
 __bswap_16 (unsigned short int __bsx)
 {
-  return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
+  return ((((__bsx) >> 8) & 0xffu) | (((__bsx) & 0xffu) << 8));
 }
 #endif
 
 /* Swap bytes in 32 bit value.  */
 #ifdef __GNUC__
 # define __bswap_32(x) \
-    (__extension__                                                           \
-     ({ unsigned int __bsx = (x);                                            \
-        ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |    \
-        (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24)); }))
+  (__extension__                                                             \
+   ({ unsigned int __bsx = (x);                                                      \
+      ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >>  8) |    \
+       (((__bsx) & 0x0000ff00u) <<  8) | (((__bsx) & 0x000000ffu) << 24)); }))
 #else
 static __inline unsigned int
 __bswap_32 (unsigned int __bsx)
 {
-  return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |
-         (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24));
+  return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >>  8) |
+         (((__bsx) & 0x0000ff00u) <<  8) | (((__bsx) & 0x000000ffu) << 24));
 }
 #endif
 
index 38d8540..5f08fed 100644 (file)
@@ -1,5 +1,5 @@
 /* Macros to swap the order of bytes in integer values.
-   Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2001,2002,2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 # define __bswap_16(x) \
     (__extension__                                                           \
      ({ unsigned short int __bsx = (x);                                              \
-        ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
+        ((((__bsx) >> 8) & 0xffu) | (((__bsx) & 0xffu) << 8)); }))
 #else
 static __inline unsigned short int
 __bswap_16 (unsigned short int __bsx)
 {
-  return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
+  return ((((__bsx) >> 8) & 0xffu) | (((__bsx) & 0xffu) << 8));
 }
 #endif
 
 /* Swap bytes in 32 bit value.  */
 #ifdef __GNUC__
 # define __bswap_32(x) \
-    (__extension__                                                           \
-     ({ unsigned int __bsx = (x);                                            \
-        ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |    \
-        (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24)); }))
+  (__extension__                                                             \
+   ({ unsigned int __bsx = (x);                                                      \
+      ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >>  8) |    \
+       (((__bsx) & 0x0000ff00u) <<  8) | (((__bsx) & 0x000000ffu) << 24)); }))
 #else
 static __inline unsigned int
 __bswap_32 (unsigned int __bsx)
 {
-  return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |
-         (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24));
+  return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >>  8) |
+         (((__bsx) & 0x0000ff00u) <<  8) | (((__bsx) & 0x000000ffu) << 24));
 }
 #endif