Piotr Caban : msvcrt: Don't use toupperW in _towupper_l.

Alexandre Julliard julliard at winehq.org
Thu Jul 16 19:01:22 CDT 2020


Module: wine
Branch: master
Commit: 55c1a16259ed4190ffe07deeb4b6dfc274eb9a9b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=55c1a16259ed4190ffe07deeb4b6dfc274eb9a9b

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Jul 16 14:47:10 2020 +0200

msvcrt: Don't use toupperW in _towupper_l.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/wcs.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index ec59990496..5f1d5f8e8c 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -2604,6 +2604,7 @@ MSVCRT_size_t CDECL MSVCRT_wcsnlen(const MSVCRT_wchar_t *s, MSVCRT_size_t maxlen
 int CDECL MSVCRT__towupper_l(MSVCRT_wint_t c, MSVCRT__locale_t locale)
 {
     MSVCRT_pthreadlocinfo locinfo;
+    MSVCRT_wchar_t ret;
 
     if(!locale)
         locinfo = get_locinfo();
@@ -2616,7 +2617,9 @@ int CDECL MSVCRT__towupper_l(MSVCRT_wint_t c, MSVCRT__locale_t locale)
         return c;
     }
 
-    return toupperW(c);
+    if(!LCMapStringW(locinfo->lc_handle[MSVCRT_LC_CTYPE], LCMAP_UPPERCASE, &c, 1, &ret, 1))
+        return c;
+    return ret;
 }
 
 /*********************************************************************




More information about the wine-cvs mailing list