Module: wine Branch: stable Commit: 7a66dd34924b3baaa7efc9ccd413a574e359f757 URL: https://source.winehq.org/git/wine.git/?a=commit;h=7a66dd34924b3baaa7efc9ccd...
Author: Matej Špindler spindler.matej@gmail.com Date: Tue May 22 17:15:01 2018 +0200
kernel32: Check for LOCALE_NOUSEROVERRIDE for neutral locales.
Signed-off-by: Matej Špindler spindler.matej@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit da5112c74313b5236183135204cab38a8b0169ed) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/kernel32/locale.c | 2 +- dlls/kernel32/tests/locale.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index b10491a..8dfbb3d 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -1812,7 +1812,7 @@ INT WINAPI GetLocaleInfoEx(LPCWSTR locale, LCTYPE info, LPWSTR buffer, INT len) /* special handling for neutral locale names */ if (locale && strlenW(locale) == 2) { - switch (info) + switch (info & ~LOCALE_LOCALEINFOFLAGSMASK) { case LOCALE_SNAME: if (len && len < 3) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 1f0e8fb..d686e12 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -4495,6 +4495,10 @@ static void test_GetLocaleInfoEx(void) ok(ret == 1, "got %d\n", ret); ok(!bufferW[0], "got %s\n", wine_dbgstr_w(bufferW));
+ ret = pGetLocaleInfoEx(enW, LOCALE_SPARENT | LOCALE_NOUSEROVERRIDE, bufferW, sizeof(bufferW)/sizeof(WCHAR)); + ok(ret == 1, "got %d\n", ret); + ok(!bufferW[0], "got %s\n", wine_dbgstr_w(bufferW)); + ret = pGetLocaleInfoEx(enW, LOCALE_SCOUNTRY, bufferW, sizeof(bufferW)/sizeof(WCHAR)); ok(ret == lstrlenW(bufferW)+1, "got %d\n", ret); if ((PRIMARYLANGID(LANGIDFROMLCID(GetSystemDefaultLCID())) != LANG_ENGLISH) ||