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.
This commit is contained in:
Rich Felker 2013-07-28 03:41:01 -04:00
parent f44e239f9f
commit 1ae4bc4280
7 changed files with 7 additions and 7 deletions

View File

@ -60,7 +60,7 @@ char *__nl_langinfo_l(nl_item item, locale_t loc)
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);

View File

@ -9,7 +9,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, LC_GLOBAL_LOCALE);
return __strcoll_l(l, r, 0);
}
weak_alias(__strcoll_l, strcoll_l);

View File

@ -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)
{
return __strxfrm_l(dest, src, n, LC_GLOBAL_LOCALE);
return __strxfrm_l(dest, src, n, 0);
}
weak_alias(__strxfrm_l, strxfrm_l);

View File

@ -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)
{
return __wcscoll_l(l, r, LC_GLOBAL_LOCALE);
return __wcscoll_l(l, r, 0);
}
weak_alias(__wcscoll_l, wcscoll_l);

View File

@ -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)
{
return __wcsxfrm_l(dest, src, n, LC_GLOBAL_LOCALE);
return __wcsxfrm_l(dest, src, n, 0);
}
weak_alias(__wcsxfrm_l, wcsxfrm_l);

View File

@ -214,7 +214,7 @@ recu_strftime:
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);

View File

@ -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)
{
return __wcsftime_l(wcs, n, f, tm, LC_GLOBAL_LOCALE);
return __wcsftime_l(wcs, n, f, tm, 0);
}