summaryrefslogtreecommitdiffstats
path: root/libcxx/src/support/win32/locale_win32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/src/support/win32/locale_win32.cpp')
-rw-r--r--libcxx/src/support/win32/locale_win32.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/libcxx/src/support/win32/locale_win32.cpp b/libcxx/src/support/win32/locale_win32.cpp
index a64788685c2..b7062db352a 100644
--- a/libcxx/src/support/win32/locale_win32.cpp
+++ b/libcxx/src/support/win32/locale_win32.cpp
@@ -32,11 +32,13 @@ decltype(MB_CUR_MAX) MB_CUR_MAX_L( locale_t __l )
#endif
}
-
-lconv *localeconv_l( locale_t loc )
+lconv *localeconv_l( locale_t &loc )
{
__libcpp_locale_guard __current(loc);
- return localeconv();
+ lconv *lc = localeconv();
+ if (!lc)
+ return lc;
+ return loc.__store_lconv(lc);
}
size_t mbrlen_l( const char *__restrict s, size_t n,
mbstate_t *__restrict ps, locale_t loc )
OpenPOWER on IntegriCloud