aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-29 02:18:11 +0000
committerRoland McGrath <roland@gnu.org>2002-08-29 02:18:11 +0000
commit963e3b588003bafb2529e4a989211b0ecc39c684 (patch)
tree6dda3798c6bc7bf9323a7e2d9ebad08c0fc8a06b
parent45061a153c431bb3127d2a3c7fbb6abfbec0a505 (diff)
downloadglibc-963e3b588003bafb2529e4a989211b0ecc39c684.zip
glibc-963e3b588003bafb2529e4a989211b0ecc39c684.tar.gz
glibc-963e3b588003bafb2529e4a989211b0ecc39c684.tar.bz2
* locale/nl_langinfo.c [NL_CURRENT_INDIRECT]: Use a categories.def
iterator to refer to each category's _nl_current_LC_FOO symbol, so we know they are all linked in.
-rw-r--r--ChangeLog4
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--locale/nl_langinfo.c12
3 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index cd6fb77..d8455f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2002-08-28 Roland McGrath <roland@redhat.com>
+ * locale/nl_langinfo.c [NL_CURRENT_INDIRECT]: Use a categories.def
+ iterator to refer to each category's _nl_current_LC_FOO symbol, so
+ we know they are all linked in.
+
* NEWS: Added 2.2.6 text from 2.2 branch version.
* time/strptime.c (strptime_internal): Remove spurious const.
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 1091ce6..2ae14e0 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,7 @@
+2002-08-28 Roland McGrath <roland@redhat.com>
+
+ * sysdeps/pthread/timer_routines.c (thread_func): Fix type in cast.
+
2002-08-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/hppa/aio_cancel.c: New file.
@@ -7,7 +11,7 @@
2002-08-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/timer_routines.c (thread_func): Change return
- type to void and add casts in use to avoid warnings wit all gcc
+ type to void and add casts in use to avoid warnings with all gcc
versions.
2002-08-08 Jakub Jelinek <jakub@redhat.com>
diff --git a/locale/nl_langinfo.c b/locale/nl_langinfo.c
index 7df2b30..2314b80 100644
--- a/locale/nl_langinfo.c
+++ b/locale/nl_langinfo.c
@@ -47,6 +47,18 @@ nl_langinfo (item)
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
data = l->__locales[category];
+#elif defined NL_CURRENT_INDIRECT
+ /* Make direct reference to every _nl_current_CATEGORY symbol,
+ since we know only at runtime which categories are used. */
+ switch (category)
+ {
+# define DEFINE_CATEGORY(category, category_name, items, a) \
+ case category: data = *_nl_current_##category; break;
+# include "categories.def"
+# undef DEFINE_CATEGORY
+ default: /* Should be impossible. */
+ return (char *) "";
+ }
#else
data = _NL_CURRENT_DATA (category);
#endif