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

@@ -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);
}