about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--locale/programs/locale.c6
2 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ebd2765e55..4a512a9481 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2003-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* locale/programs/locale.c (show_info): Fix printing word values on
+	64-bit big-endian architectures.
+
+2003-10-19  Bruno Haible  <bruno@clisp.org>
+
+	* intl/hash-string.c (hash_string): Zero-extend each char from the
+	string; the old code did a sign-extend on some platforms.
+
 2003-10-22  Steven Munroe  <sjmunroe@us.ibm.com>
 
 	* sysdeps/powerpc/powerpc32/Makefile (+cflags, asm-CPPFLAGS): Don't
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index ec37d4871c..f1a534cad6 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -893,12 +893,12 @@ show_info (const char *name)
 	  break;
 	case word:
 	  {
-	    unsigned int val =
-	      (unsigned int) (unsigned long int) nl_langinfo (item->item_id);
+	    union { unsigned int word; char *string; } val;
+	    val.string = nl_langinfo (item->item_id);
 	    if (show_keyword_name)
 	      printf ("%s=", item->name);
 
-	    printf ("%d\n", val);
+	    printf ("%d\n", val.word);
 	  }
 	  break;
 	case wstring: