From b408b5a9a47159a8d7a424e59fabd471f68b61ff Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Sat, 12 Sep 2015 13:15:27 +0200 Subject: [PATCH] msvcrt/tests: Fix tolower test failures. --- dlls/msvcrt/tests/string.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c index d247ba6067b..7733a7c5228 100644 --- a/dlls/msvcrt/tests/string.c +++ b/dlls/msvcrt/tests/string.c @@ -2608,6 +2608,7 @@ static void test_wctomb(void) static void test_tolower(void) { + WCHAR chw, lower; char ch, lch; int ret, len; @@ -2638,7 +2639,10 @@ static void test_tolower(void) ch = 0xF4; errno = 0xdeadbeef; ret = p_tolower(ch); - len = LCMapStringA(0, LCMAP_LOWERCASE, &ch, 1, &lch, 1); + if(!MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, &ch, 1, &chw, 1) || + LCMapStringW(CP_ACP, LCMAP_LOWERCASE, &chw, 1, &lower, 1) != 1 || + (len = WideCharToMultiByte(CP_ACP, 0, &lower, 1, &lch, 1, NULL, NULL)) != 1) + len = 0; if(len) ok(ret==(unsigned char)lch || broken(ret==ch)/*WinXP-*/, "ret = %x\n", ret); else @@ -2649,7 +2653,10 @@ static void test_tolower(void) ch = 0xD0; errno = 0xdeadbeef; ret = p_tolower(ch); - len = LCMapStringA(0, LCMAP_LOWERCASE, &ch, 1, &lch, 1); + if(!MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, &ch, 1, &chw, 1) || + LCMapStringW(CP_ACP, LCMAP_LOWERCASE, &chw, 1, &lower, 1) != 1 || + (len = WideCharToMultiByte(CP_ACP, 0, &lower, 1, &lch, 1, NULL, NULL)) != 1) + len = 0; if(len) ok(ret==(unsigned char)lch || broken(ret==ch)/*WinXP-*/, "ret = %x\n", ret); else -- 2.11.4.GIT