aboutsummaryrefslogtreecommitdiffstats
path: root/intl/localename.c
diff options
context:
space:
mode:
Diffstat (limited to 'intl/localename.c')
-rw-r--r--intl/localename.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/intl/localename.c b/intl/localename.c
index 89a9692bb..3f9d0b05f 100644
--- a/intl/localename.c
+++ b/intl/localename.c
@@ -2607,7 +2607,7 @@ gl_locale_name_thread_unsafe (int category, const char *categoryname)
locale_t thread_locale = uselocale (NULL);
if (thread_locale != LC_GLOBAL_LOCALE)
{
-# if __GLIBC__ >= 2
+# if __GLIBC__ >= 2 && !defined(__UCLIBC__)
/* 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>. */
@@ -2771,7 +2771,8 @@ gl_locale_name_thread (int category, const char *categoryname)
However it does not specify the exact format. Neither do SUSV2 and
ISO C 99. So we can use this feature only on selected systems (e.g.
those using GNU C Library). */
-#if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2)
+#if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2 \
+ && (!defined __UCLIBC__ || defined __UCLIBC_HAS_LOCALE__))
# define HAVE_LOCALE_NULL
#endif