path: root/src/time
diff options
authorRich Felker <>2013-07-28 03:41:01 -0400
committerRich Felker <>2013-07-28 03:41:01 -0400
commit1ae4bc42808111d6b3f50c063de102f162051986 (patch)
treebed1400ccc266c4f86c9960e45210da58530b5c8 /src/time
parentf44e239f9f36c4be049f98d6a3d33644168e40a7 (diff)
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.
Diffstat (limited to 'src/time')
2 files changed, 2 insertions, 2 deletions
diff --git a/src/time/strftime.c b/src/time/strftime.c
index 96cb996d..3f0ec3e3 100644
--- a/src/time/strftime.c
+++ b/src/time/strftime.c
@@ -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);
diff --git a/src/time/wcsftime.c b/src/time/wcsftime.c
index 7b631f5f..469d0f4c 100644
--- a/src/time/wcsftime.c
+++ b/src/time/wcsftime.c
@@ -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);