diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-02-15 22:53:48 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-02-15 22:53:48 +0000 |
commit | 477495be41d516c15cbf509c00cff2a22a7c2c6c (patch) | |
tree | 3fdec13d3195dda7679235bb70f9dcf5b8b0b075 | |
parent | e24202c3a944e2364a39f90982c5bd2ecd4bb30b (diff) | |
download | glibc-477495be41d516c15cbf509c00cff2a22a7c2c6c.zip glibc-477495be41d516c15cbf509c00cff2a22a7c2c6c.tar.gz glibc-477495be41d516c15cbf509c00cff2a22a7c2c6c.tar.bz2 |
* sysdeps/generic/bits/byteswap.h: Make sure result of all the
functions and macros is unsigned.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | bits/byteswap.h | 18 | ||||
-rw-r--r-- | sysdeps/generic/bits/byteswap.h | 18 |
3 files changed, 23 insertions, 18 deletions
@@ -1,3 +1,8 @@ +2005-02-15 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/bits/byteswap.h: Make sure result of all the + functions and macros is unsigned. + 2005-02-11 Barry deFrese <bddebian@comcast.net> [BZ #722] diff --git a/bits/byteswap.h b/bits/byteswap.h index 38d8540..5f08fed 100644 --- a/bits/byteswap.h +++ b/bits/byteswap.h @@ -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 @@ -29,28 +29,28 @@ # 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 diff --git a/sysdeps/generic/bits/byteswap.h b/sysdeps/generic/bits/byteswap.h index 38d8540..5f08fed 100644 --- a/sysdeps/generic/bits/byteswap.h +++ b/sysdeps/generic/bits/byteswap.h @@ -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 @@ -29,28 +29,28 @@ # 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 |