* stdio-common/_itoa.h: Define _itoa and _fitoa for 64-bit platforms.
authorUlrich Drepper <drepper@redhat.com>
Thu, 25 Jan 2007 00:45:00 +0000 (00:45 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 25 Jan 2007 00:45:00 +0000 (00:45 +0000)
* malloc/mtrace.c: Revert last change.
* posix/wordexp.c: Likewise.

ChangeLog
malloc/mtrace.c
posix/wordexp.c
stdio-common/_itoa.h

index 7a33517..7656ebe 100644 (file)
--- 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__
index f40f3b2..1a9522b 100644 (file)
@@ -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] ",
index 40d1b6a..765d14d 100644 (file)
@@ -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;
            }
index 21a9c39..6d9812f 100644 (file)
@@ -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 */