diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 29cad7c44e1..f715832c264 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -92,6 +92,7 @@ MSVCRT_wchar_t* CDECL MSVCRT__wcsdup( const MSVCRT_wchar_t* str ) int CDECL MSVCRT__towlower_l(MSVCRT_wint_t c, MSVCRT__locale_t locale) { MSVCRT_pthreadlocinfo locinfo; + MSVCRT_wchar_t ret; if(!locale) locinfo = get_locinfo(); @@ -104,7 +105,9 @@ int CDECL MSVCRT__towlower_l(MSVCRT_wint_t c, MSVCRT__locale_t locale) return c; } - return tolowerW(c); + if(!LCMapStringW(locinfo->lc_handle[MSVCRT_LC_CTYPE], LCMAP_LOWERCASE, &c, 1, &ret, 1)) + return c; + return ret; } /*********************************************************************