about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-02-17 16:53:41 +0000
committerUlrich Drepper <drepper@redhat.com>2007-02-17 16:53:41 +0000
commit5e9e9c1472a6c20b52fe4bcc3e7ed2d0099150cd (patch)
treeb112fe5b3e0d40c7084dbeb12f812e9c5daac6f5
parent07fb518573f6595548f992646a2c65e9b9770268 (diff)
downloadglibc-5e9e9c1472a6c20b52fe4bcc3e7ed2d0099150cd.tar.gz
glibc-5e9e9c1472a6c20b52fe4bcc3e7ed2d0099150cd.tar.xz
glibc-5e9e9c1472a6c20b52fe4bcc3e7ed2d0099150cd.zip
[BZ #3745]
	* locale/programs/ld-collate.c (handle_ellipsis): Fix generation
	of names for ellipsises.
-rw-r--r--ChangeLog4
-rw-r--r--locale/programs/ld-collate.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 62f0dd6d5d..72a9f84893 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2007-02-17  Ulrich Drepper  <drepper@redhat.com>
 
+	[BZ #3745]
+	* locale/programs/ld-collate.c (handle_ellipsis): Fix generation
+	of names for ellipsises.
+
 	[BZ #3348]
 	* malloc/memusage.sh: Cleanups.
 	* debug/xtrace.sh: Quoting and trap changes.
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index af47279958..a4f491cd28 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2003, 2005, 2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -1330,8 +1330,9 @@ order for `%.*s' already defined at %s:%Zu"),
 	      uint32_t wc;
 	      int cnt;
 
-	      /* Generate the the name.  */
-	      sprintf (buf + preflen, base == 10 ? "%ld" : "%lX", from);
+	      /* Generate the name.  */
+	      sprintf (buf + preflen, base == 10 ? "%0*ld" : "%0*lX",
+		       (int) (lenfrom - preflen), from);
 
 	      /* Look whether this name is already defined.  */
 	      void *ptr;
@@ -3571,7 +3572,6 @@ error while adding equivalent collating symbol"));
 
 	      if (was_ellipsis != tok_none)
 		{
-
 		  handle_ellipsis (ldfile, symstr, symlen, was_ellipsis,
 				   charmap, repertoire, result);