diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | malloc/mtrace.c | 26 | ||||
-rw-r--r-- | posix/wordexp.c | 12 | ||||
-rw-r--r-- | stdio-common/_itoa.h | 13 |
4 files changed, 30 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog index 7a335177ae..7656ebe26f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-01-24 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/_itoa.h: Define _itoa and _fitoa for 64-bit platforms. + * malloc/mtrace.c: Revert last change. + * posix/wordexp.c: Likewise. + 2007-01-24 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/bits/byteswap.h (__bswap_32): Add __nocona__, __core2__ diff --git a/malloc/mtrace.c b/malloc/mtrace.c index f40f3b20b1..1a9522b09d 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -1,5 +1,5 @@ /* More debugging hooks for `malloc'. - Copyright (C) 1991-1994,1996-2004, 2007 Free Software Foundation, Inc. + Copyright (C) 1991-1994,1996-2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Written April 2, 1991 by John Gilmore of Cygnus Support. Based on mcheck.c by Mike Haertel. @@ -28,7 +28,6 @@ #include <dlfcn.h> #include <fcntl.h> -#include <limits.h> #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -114,20 +113,15 @@ tr_where (caller) buf = alloca (len + 6 + 2 * sizeof (void *)); buf[0] = '('; - - char *cp = __stpcpy (__mempcpy (buf + 1, info.dli_sname, len), - caller >= (__ptr_t) info.dli_saddr - ? "+0x" : "-0x"); - intptr_t offset = (caller >= (const __ptr_t) info.dli_saddr - ? caller - (const __ptr_t) info.dli_saddr - : (const __ptr_t) info.dli_saddr - caller); -# if LLONG_MAX == LONG_MAX - cp = _fitoa_word (offset, cp, 16, 0); -# else - cp = _fitoa (offset, cp, 16, 0); -# endif - - __stpcpy (cp, ")"); + __stpcpy (_fitoa (caller >= (const __ptr_t) info.dli_saddr + ? caller - (const __ptr_t) info.dli_saddr + : (const __ptr_t) info.dli_saddr - caller, + __stpcpy (__mempcpy (buf + 1, info.dli_sname, + len), + caller >= (__ptr_t) info.dli_saddr + ? "+0x" : "-0x"), + 16, 0), + ")"); } fprintf (mallstream, "@ %s%s%s[%p] ", diff --git a/posix/wordexp.c b/posix/wordexp.c index 40d1b6a7db..765d14d81f 100644 --- a/posix/wordexp.c +++ b/posix/wordexp.c @@ -1,5 +1,5 @@ /* POSIX.2 wordexp implementation. - Copyright (C) 1997-2003, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 1997-2002, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Tim Waugh <tim@cyberelk.demon.co.uk>. @@ -25,7 +25,6 @@ #include <fnmatch.h> #include <glob.h> #include <libintl.h> -#include <limits.h> #include <paths.h> #include <pwd.h> #include <signal.h> @@ -758,13 +757,8 @@ parse_arith (char **word, size_t *word_length, size_t *max_length, convertme = numresult; result[20] = '\0'; - char *numstr; -#if LLONG_MAX == LONG_MAX - numstr = _itoa_word (convertme, &result[20], 10, 0); -#else - numstr = _itoa (convertme, &result[20], 10, 0); -#endif - *word = w_addstr (*word, word_length, max_length, numstr); + *word = w_addstr (*word, word_length, max_length, + _itoa (convertme, &result[20], 10, 0)); free (expr); return *word ? 0 : WRDE_NOSPACE; } diff --git a/stdio-common/_itoa.h b/stdio-common/_itoa.h index 21a9c39294..6d9812fe32 100644 --- a/stdio-common/_itoa.h +++ b/stdio-common/_itoa.h @@ -1,5 +1,5 @@ /* Internal function for converting integers to ASCII. - Copyright (C) 1994,95,96,97,98,99,2002,2003 Free Software Foundation, Inc. + Copyright (C) 1994-1999,2002,2003,2007 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 @@ -19,7 +19,8 @@ #ifndef _ITOA_H #define _ITOA_H -#include <sys/cdefs.h> + +#include <limits.h> /* Convert VALUE into ASCII in base BASE (2..36). Write backwards starting the character just before BUFLIM. @@ -81,4 +82,12 @@ extern char *_fitoa_word (unsigned long value, char *buf, unsigned int base, extern char *_fitoa (unsigned long long value, char *buf, unsigned int base, int upper_case) attribute_hidden; +#if LONG_MAX == LLONG_MAX +/* No need for special long long versions. */ +# define _itoa(value, buf, base, upper_case) \ + _itoa_word (value, buf, base, upper_case) +# define _fitoa(value, buf, base, upper_case) \ + _fitoa_word (value, buf, base, upper_case) +#endif + #endif /* itoa.h */ |