summaryrefslogtreecommitdiff
path: root/lib/duplocale.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2009-11-24 10:44:40 +0100
committerBruno Haible <bruno@clisp.org>2009-11-24 10:44:40 +0100
commit6575ab51fb8625925f8cbc143392557efa864318 (patch)
treef9911e49374c09f28f3be8097a20f0e3efc1483a /lib/duplocale.c
parent0fe2cbf6bb3dcf60a7c4004c332f9ef6ea855290 (diff)
downloadgnulib-6575ab51fb8625925f8cbc143392557efa864318.tar.gz
duplocale: Fix logic bug.
Diffstat (limited to 'lib/duplocale.c')
-rw-r--r--lib/duplocale.c19
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);