Mercurial > hg > octave-lojdl > gnulib-hg
changeset 7507:bfd8f6c918c9
* lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
at least as wide as intmax_t.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Mon, 16 Oct 2006 23:39:20 +0000 |
parents | 813cd777c572 |
children | 43875a037a03 |
files | ChangeLog lib/fsusage.c |
diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-10-16 Paul Eggert <eggert@cs.ucla.edu> + + * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is + at least as wide as intmax_t. + 2006-10-16 Alexandre Duret-Lutz <adl@gnu.org> (Imported from Automake.)
--- a/lib/fsusage.c +++ b/lib/fsusage.c @@ -61,11 +61,11 @@ a uintmax_t value that is all 1 bits if X is all 1 bits, even if X is unsigned and narrower than uintmax_t. */ #define PROPAGATE_ALL_ONES(x) \ - ((sizeof (x) < sizeof (uintmax_t) \ + ((sizeof (x) != sizeof (uintmax_t) \ && (~ (x) == (sizeof (x) < sizeof (int) \ ? - (1 << (sizeof (x) * CHAR_BIT)) \ : 0))) \ - ? UINTMAX_MAX : (x)) + ? UINTMAX_MAX : (uintmax_t) (x)) /* Extract the top bit of X as an uintmax_t value. */ #define EXTRACT_TOP_BIT(x) ((x) \