diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | stdio-common/vfprintf.c | 14 |
2 files changed, 12 insertions, 5 deletions
@@ -1,5 +1,8 @@ 1999-05-25 Ulrich Drepper <drepper@cygnus.com> + * stdio-common/vfprintf.c (vfprintf): Don't implement special + handling for long long if it is the same as long. + * stdlib/strtol.c: Moved to ... * sysdeps/generic/strtol.c: ...here. * stdlib/strtoul.c: Moved to ... diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index 263b023..dfaf419 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -180,8 +180,12 @@ extern void __funlockfile (FILE *); } \ while (0) -/* For handling long_double and longlong we use the same flag. */ -#ifndef is_longlong +/* For handling long_double and longlong we use the same flag. If + `long' and `long long' are effectively the same type define it to + zero. */ +#if LONG_MAX == LONG_LONG_MAX +# define is_longlong 0 +#else # define is_longlong is_long_double #endif @@ -1228,17 +1232,17 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) JUMP (*++f, step4_jumps); LABEL (mod_size_t): - is_longlong = sizeof (size_t) > sizeof (unsigned long int); + is_long_double = sizeof (size_t) > sizeof (unsigned long int); is_long = sizeof (size_t) > sizeof (unsigned int); JUMP (*++f, step4_jumps); LABEL (mod_ptrdiff_t): - is_longlong = sizeof (ptrdiff_t) > sizeof (unsigned long int); + is_long_double = sizeof (ptrdiff_t) > sizeof (unsigned long int); is_long = sizeof (ptrdiff_t) > sizeof (unsigned int); JUMP (*++f, step4_jumps); LABEL (mod_intmax_t): - is_longlong = sizeof (intmax_t) > sizeof (unsigned long int); + is_long_double = sizeof (intmax_t) > sizeof (unsigned long int); is_long = sizeof (intmax_t) > sizeof (unsigned int); JUMP (*++f, step4_jumps); |