=?UTF-8?Q?Matej=20=C5=A0pindler=20?=: kernel32: Check for LOCALE_NOUSEROVERRIDE for neutral locales.

Alexandre Julliard julliard at winehq.org
Thu Sep 13 03:49:14 CDT 2018


Module: wine
Branch: stable
Commit: 7a66dd34924b3baaa7efc9ccd413a574e359f757
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7a66dd34924b3baaa7efc9ccd413a574e359f757

Author: Matej Špindler <spindler.matej at 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 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit da5112c74313b5236183135204cab38a8b0169ed)
Signed-off-by: Michael Stefaniuc <mstefani at 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) ||




More information about the wine-cvs mailing list