From: Pádraig Brady
Date: Thu, 29 Jan 2015 16:44:48 +0000 (+0000)
Subject: localename: support Solaris 12 and illumos
X-Git-Tag: v1.0~7176
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=387c214;p=gnulib.git
localename: support Solaris 12 and illumos
* lib/localename.c (gl_locale_name_thread_unsafe): call
getlocalename_l() on newer __sun platforms.
Reported by Alexander Pyhalov.
Fix suggested by Rich Burridge.
---
diff --git a/ChangeLog b/ChangeLog
index a218b4f1a9..69e3425798 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-29 Pádraig Brady
+
+ localename: support Solaris 12 and illumos
+ * lib/localename.c (gl_locale_name_thread_unsafe): call
+ getlocalename_l() on newer __sun platforms.
+ Reported by Alexander Pyhalov.
+ Fix suggested by Rich Burridge.
+
2015-01-29 Alexander Pyhalov
locale: fix tests on illumos (trivial)
diff --git a/lib/localename.c b/lib/localename.c
index 815171c2a2..c6f326e5bd 100644
--- a/lib/localename.c
+++ b/lib/localename.c
@@ -42,6 +42,10 @@
# if !defined IN_LIBINTL
# include "glthread/lock.h"
# endif
+# if defined __sun
+/* Solaris >= 12. */
+extern char * getlocalename_l(int, locale_t);
+# endif
#endif
#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
@@ -2584,7 +2588,7 @@ get_lcid (const char *locale_name)
#endif
-#if HAVE_USELOCALE /* glibc or Mac OS X */
+#if HAVE_USELOCALE /* glibc, Solaris >= 12 or Mac OS X */
/* Simple hash set of strings. We don't want to drag in lots of hash table
code here. */
@@ -2723,6 +2727,9 @@ gl_locale_name_thread_unsafe (int category, const char *categoryname)
return "";
}
return querylocale (mask, thread_locale);
+# elif defined __sun
+ /* Solaris >= 12. */
+ return getlocalename_l (category, thread_locale);
# endif
}
}