summaryrefslogtreecommitdiff
path: root/extra/perl/musl-locale.patch
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-04-12 12:35:49 +0100
committerdavidovski <david@davidovski.xyz>2022-04-12 12:35:49 +0100
commit734e13526a2ec3ced7f085e444fc9525dfad348b (patch)
tree3b336b9bfc4aa511e156794f4d2a44357b446a6b /extra/perl/musl-locale.patch
parentbce4ac0f65ffb8bedcdcbdb94eb796457b12f9e1 (diff)
fixed perl locale issue
Diffstat (limited to 'extra/perl/musl-locale.patch')
-rw-r--r--extra/perl/musl-locale.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/extra/perl/musl-locale.patch b/extra/perl/musl-locale.patch
new file mode 100644
index 0000000..65839f1
--- /dev/null
+++ b/extra/perl/musl-locale.patch
@@ -0,0 +1,37 @@
+diff --git a/locale.c b/locale.c
+index 7653340..7243cb1 100644
+--- a/locale.c
++++ b/locale.c
+@@ -581,6 +581,10 @@ S_emulate_setlocale(const int category,
+
+ return (char *) querylocale(mask, cur_obj);
+
++# elif defined(_NL_LOCALE_NAME)
++
++ return (char *) nl_langinfo_l(_NL_LOCALE_NAME(category), cur_obj);
++
+ # else
+
+ /* If this assert fails, adjust the size of curlocales in intrpvar.h */
+@@ -737,7 +741,7 @@ S_emulate_setlocale(const int category,
+
+ /* Here, we are switching locales. */
+
+-# ifndef HAS_QUERYLOCALE
++# if !defined(HAS_QUERYLOCALE) && !defined(_NL_LOCALE_NAME)
+
+ if (strEQ(locale, "")) {
+
+@@ -1094,6 +1098,12 @@ S_emulate_setlocale(const int category,
+ locale = querylocale(mask, new_obj);
+ }
+
++# elif defined(_NL_LOCALE_NAME)
++
++ if (strEQ(locale, "")) {
++ locale = nl_langinfo_l(_NL_LOCALE_NAME(category), new_obj);
++ }
++
+ # else
+
+ /* Here, 'locale' is the return value */