diff options
author | Bruno Haible <bruno@clisp.org> | 2009-11-24 10:44:40 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-11-24 10:44:40 +0100 |
commit | 6575ab51fb8625925f8cbc143392557efa864318 (patch) | |
tree | f9911e49374c09f28f3be8097a20f0e3efc1483a /lib | |
parent | 0fe2cbf6bb3dcf60a7c4004c332f9ef6ea855290 (diff) | |
download | gnulib-6575ab51fb8625925f8cbc143392557efa864318.tar.gz |
duplocale: Fix logic bug.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/duplocale.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/lib/duplocale.c b/lib/duplocale.c index 78819cf531..86432f7c35 100644 --- a/lib/duplocale.c +++ b/lib/duplocale.c @@ -22,15 +22,8 @@ #include <locale.h> #include <errno.h> -#include <langinfo.h> #include <string.h> -/* Work around an incorrect definition of the _NL_LOCALE_NAME macro in - glibc < 2.12. - See <http://sourceware.org/bugzilla/show_bug.cgi?id=10968>. */ -#undef _NL_LOCALE_NAME -#define _NL_LOCALE_NAME(category) _NL_ITEM ((category), _NL_ITEM_INDEX (-1)) - #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) #undef duplocale @@ -74,11 +67,7 @@ rpl_duplocale (locale_t locale) locale_t base_copy; unsigned int i; - base_name = nl_langinfo (_NL_LOCALE_NAME (LC_CTYPE)); - if (base_name[0] == '\0') - /* Fallback code for glibc < 2.4, which did not implement - nl_langinfo (_NL_LOCALE_NAME (category)). */ - base_name = setlocale (LC_CTYPE, NULL); + base_name = setlocale (LC_CTYPE, NULL); base_copy = newlocale (LC_ALL_MASK, base_name, NULL); if (base_copy == NULL) return NULL; @@ -87,11 +76,7 @@ rpl_duplocale (locale_t locale) { int category = categories[i].cat; int category_mask = categories[i].mask; - const char *name = nl_langinfo (_NL_LOCALE_NAME (category)); - if (name[0] == '\0') - /* Fallback code for glibc < 2.4, which did not implement - nl_langinfo (_NL_LOCALE_NAME (category)). */ - name = setlocale (category, NULL); + const char *name = setlocale (category, NULL); if (strcmp (name, base_name) != 0) { locale_t copy = newlocale (category_mask, name, base_copy); |