properly pass current locale to *_l functions when used internally
authorRich Felker <dalias@aerifal.cx>
Thu, 3 Jul 2014 01:46:41 +0000 (21:46 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 3 Jul 2014 01:46:41 +0000 (21:46 -0400)
this change is presently non-functional since the callees do not yet
use their locale argument for anything.

src/locale/langinfo.c
src/locale/strcoll.c
src/locale/strfmon.c
src/locale/strxfrm.c
src/locale/wcscoll.c
src/locale/wcsxfrm.c
src/time/strftime.c
src/time/wcsftime.c

index 7bb56eede9f56d92320ae79a553c095a828e22a2..13abf45b8859a6a7a7d6f5f071dbfc8a13dc8a3e 100644 (file)
@@ -1,5 +1,6 @@
 #include <locale.h>
 #include <langinfo.h>
+#include "locale_impl.h"
 #include "libc.h"
 
 static const char c_time[] =
@@ -60,7 +61,7 @@ char *__nl_langinfo_l(nl_item item, locale_t loc)
 
 char *__nl_langinfo(nl_item item)
 {
-       return __nl_langinfo_l(item, 0);
+       return __nl_langinfo_l(item, CURRENT_LOCALE);
 }
 
 weak_alias(__nl_langinfo, nl_langinfo);
index 39ea1123c620437d752ab003dd8bd9b9a1db5021..84f199ff9527d7728beea01cfbefbe06e61e02ad 100644 (file)
@@ -1,5 +1,6 @@
 #include <string.h>
 #include <locale.h>
+#include "locale_impl.h"
 #include "libc.h"
 
 int __strcoll_l(const char *l, const char *r, locale_t loc)
@@ -9,7 +10,7 @@ int __strcoll_l(const char *l, const char *r, locale_t loc)
 
 int strcoll(const char *l, const char *r)
 {
-       return __strcoll_l(l, r, 0);
+       return __strcoll_l(l, r, CURRENT_LOCALE);
 }
 
 weak_alias(__strcoll_l, strcoll_l);
index e25db9727583d6e16db3d0887358085d40323f37..7cf2136a06fb211dcc357630cc4e4cc1611676b8 100644 (file)
@@ -3,6 +3,7 @@
 #include <stdarg.h>
 #include <monetary.h>
 #include <errno.h>
+#include "locale_impl.h"
 
 static ssize_t vstrfmon_l(char *s, size_t n, locale_t loc, const char *fmt, va_list ap)
 {
@@ -93,7 +94,7 @@ ssize_t strfmon(char *restrict s, size_t n, const char *restrict fmt, ...)
        ssize_t ret;
 
        va_start(ap, fmt);
-       ret = vstrfmon_l(s, n, 0, fmt, ap);
+       ret = vstrfmon_l(s, n, CURRENT_LOCALE, fmt, ap);
        va_end(ap);
 
        return ret;
index 32c461939dd422b0e123580ce78974e669a843e5..14b76a632779b8902ab1a16fa441c5d3b6f63ca6 100644 (file)
@@ -1,5 +1,6 @@
 #include <string.h>
 #include <locale.h>
+#include "locale_impl.h"
 #include "libc.h"
 
 /* collate only by code points */
@@ -12,7 +13,7 @@ size_t __strxfrm_l(char *restrict dest, const char *restrict src, size_t n, loca
 
 size_t strxfrm(char *restrict dest, const char *restrict src, size_t n)
 {
-       return __strxfrm_l(dest, src, n, 0);
+       return __strxfrm_l(dest, src, n, CURRENT_LOCALE);
 }
 
 weak_alias(__strxfrm_l, strxfrm_l);
index 20a60900e038658260ff91cecd615afa2b30ea8c..14bb8b9f9607991872e9c1861481ce8ea07df88e 100644 (file)
@@ -1,5 +1,6 @@
 #include <wchar.h>
 #include <locale.h>
+#include "locale_impl.h"
 #include "libc.h"
 
 /* FIXME: stub */
@@ -10,7 +11,7 @@ int __wcscoll_l(const wchar_t *l, const wchar_t *r, locale_t locale)
 
 int wcscoll(const wchar_t *l, const wchar_t *r)
 {
-       return __wcscoll_l(l, r, 0);
+       return __wcscoll_l(l, r, CURRENT_LOCALE);
 }
 
 weak_alias(__wcscoll_l, wcscoll_l);
index 5d89e7dd522747d0167ca7e4e4e78b46ab6966cd..0a0b776dadf46aa65c91303dd43776b22c158679 100644 (file)
@@ -1,5 +1,6 @@
 #include <wchar.h>
 #include <locale.h>
+#include "locale_impl.h"
 #include "libc.h"
 
 /* collate only by code points */
@@ -17,7 +18,7 @@ size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n
 
 size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
 {
-       return __wcsxfrm_l(dest, src, n, 0);
+       return __wcsxfrm_l(dest, src, n, CURRENT_LOCALE);
 }
 
 weak_alias(__wcsxfrm_l, wcsxfrm_l);
index 75ebca62944987676ac712afba3e2f015e2cf8e5..794fbe1d70727a057a99a4d709bd71a2a66b8a99 100644 (file)
@@ -5,6 +5,7 @@
 #include <locale.h>
 #include <time.h>
 #include <limits.h>
+#include "locale_impl.h"
 #include "libc.h"
 #include "time_impl.h"
 
@@ -263,7 +264,7 @@ size_t __strftime_l(char *restrict s, size_t n, const char *restrict f, const st
 
 size_t strftime(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm)
 {
-       return __strftime_l(s, n, f, tm, 0);
+       return __strftime_l(s, n, f, tm, CURRENT_LOCALE);
 }
 
 weak_alias(__strftime_l, strftime_l);
index 8d2a2ebc3fa18bf34935b0adf6a40a31e9a88e78..638e64f6b445772931bb63171082ebaaaccc861a 100644 (file)
@@ -1,6 +1,7 @@
 #include <wchar.h>
 #include <time.h>
 #include <locale.h>
+#include "locale_impl.h"
 #include "libc.h"
 
 const char *__strftime_fmt_1(char (*s)[100], size_t *l, int f, const struct tm *tm, locale_t loc);
@@ -64,7 +65,7 @@ size_t __wcsftime_l(wchar_t *restrict s, size_t n, const wchar_t *restrict f, co
 
 size_t wcsftime(wchar_t *restrict wcs, size_t n, const wchar_t *restrict f, const struct tm *restrict tm)
 {
-       return __wcsftime_l(wcs, n, f, tm, 0);
+       return __wcsftime_l(wcs, n, f, tm, CURRENT_LOCALE);
 }
 
 weak_alias(__wcsftime_l, wcsftime_l);