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>
This commit is contained in:
Matej Špindler 2018-05-22 17:15:01 +02:00 committed by Alexandre Julliard
parent cd5570d9ef
commit da5112c743
2 changed files with 5 additions and 1 deletions

View File

@ -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)

View File

@ -4499,6 +4499,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) ||