提交 1ae4bc42 编写于 作者: R Rich Felker

fix semantically incorrect use of LC_GLOBAL_LOCALE

LC_GLOBAL_LOCALE refers to the global locale, controlled by setlocale,
not the thread-local locale in effect which these functions should be
using. neither LC_GLOBAL_LOCALE nor 0 has an argument to the *_l
functions has behavior defined by the standard, but 0 is a more
logical choice for requesting the callee to lookup the current locale.
in the future I may move the current locale lookup the the caller (the
non-_l-suffixed wrapper).

at this point, all of the locale logic is dummied out, so no harm was
done, but it should at least avoid misleading usage.
上级 f44e239f
...@@ -60,7 +60,7 @@ char *__nl_langinfo_l(nl_item item, locale_t loc) ...@@ -60,7 +60,7 @@ char *__nl_langinfo_l(nl_item item, locale_t loc)
char *__nl_langinfo(nl_item item) char *__nl_langinfo(nl_item item)
{ {
return __nl_langinfo_l(item, LC_GLOBAL_LOCALE); return __nl_langinfo_l(item, 0);
} }
weak_alias(__nl_langinfo, nl_langinfo); weak_alias(__nl_langinfo, nl_langinfo);
......
...@@ -9,7 +9,7 @@ int __strcoll_l(const char *l, const char *r, locale_t loc) ...@@ -9,7 +9,7 @@ int __strcoll_l(const char *l, const char *r, locale_t loc)
int strcoll(const char *l, const char *r) int strcoll(const char *l, const char *r)
{ {
return __strcoll_l(l, r, LC_GLOBAL_LOCALE); return __strcoll_l(l, r, 0);
} }
weak_alias(__strcoll_l, strcoll_l); weak_alias(__strcoll_l, strcoll_l);
...@@ -12,7 +12,7 @@ size_t __strxfrm_l(char *restrict dest, const char *restrict src, size_t n, loca ...@@ -12,7 +12,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) size_t strxfrm(char *restrict dest, const char *restrict src, size_t n)
{ {
return __strxfrm_l(dest, src, n, LC_GLOBAL_LOCALE); return __strxfrm_l(dest, src, n, 0);
} }
weak_alias(__strxfrm_l, strxfrm_l); weak_alias(__strxfrm_l, strxfrm_l);
...@@ -10,7 +10,7 @@ int __wcscoll_l(const wchar_t *l, const wchar_t *r, locale_t locale) ...@@ -10,7 +10,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) int wcscoll(const wchar_t *l, const wchar_t *r)
{ {
return __wcscoll_l(l, r, LC_GLOBAL_LOCALE); return __wcscoll_l(l, r, 0);
} }
weak_alias(__wcscoll_l, wcscoll_l); weak_alias(__wcscoll_l, wcscoll_l);
...@@ -15,7 +15,7 @@ size_t __wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n ...@@ -15,7 +15,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) size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
{ {
return __wcsxfrm_l(dest, src, n, LC_GLOBAL_LOCALE); return __wcsxfrm_l(dest, src, n, 0);
} }
weak_alias(__wcsxfrm_l, wcsxfrm_l); weak_alias(__wcsxfrm_l, wcsxfrm_l);
...@@ -214,7 +214,7 @@ recu_strftime: ...@@ -214,7 +214,7 @@ recu_strftime:
size_t strftime(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm) 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, LC_GLOBAL_LOCALE); return __strftime_l(s, n, f, tm, 0);
} }
weak_alias(__strftime_l, strftime_l); weak_alias(__strftime_l, strftime_l);
...@@ -34,5 +34,5 @@ size_t __wcsftime_l(wchar_t *restrict wcs, size_t n, const wchar_t *restrict f, ...@@ -34,5 +34,5 @@ size_t __wcsftime_l(wchar_t *restrict wcs, size_t n, const wchar_t *restrict f,
size_t wcsftime(wchar_t *restrict wcs, size_t n, const wchar_t *restrict f, const struct tm *restrict tm) 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, LC_GLOBAL_LOCALE); return __wcsftime_l(wcs, n, f, tm, 0);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册