From 387c214c0de4db0c40015bff429d46a60a56680c Mon Sep 17 00:00:00 2001
From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Thu, 29 Jan 2015 16:44:48 +0000
Subject: [PATCH] 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.
---
ChangeLog | 8 ++++++++
lib/localename.c | 9 ++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
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
}
}
--
2.39.5