[PATCH 3/3] kernel32: Don't care about case when finding matching locale
Andrew Eikum
aeikum at codeweavers.com
Tue Jan 24 14:44:11 CST 2017
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
dlls/kernel32/locale.c | 6 +++---
dlls/kernel32/tests/locale.c | 5 +++++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 2bf1024c03..ca5975137f 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -390,7 +390,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
GetLocaleInfoW( lcid, LOCALE_SNAME | LOCALE_NOUSEROVERRIDE,
buffer, sizeof(buffer)/sizeof(WCHAR) ))
{
- if (!strcmpW( data->win_name, buffer ))
+ if (!strcmpiW( data->win_name, buffer ))
{
matches = 4; /* everything matches */
goto done;
@@ -400,7 +400,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
if (!GetLocaleInfoW( lcid, LOCALE_SISO639LANGNAME | LOCALE_NOUSEROVERRIDE,
buffer, sizeof(buffer)/sizeof(WCHAR) ))
return TRUE;
- if (strcmpW( buffer, data->lang )) return TRUE;
+ if (strcmpiW( buffer, data->lang )) return TRUE;
matches++; /* language name matched */
if (data->country)
@@ -408,7 +408,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
if (GetLocaleInfoW( lcid, LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE,
buffer, sizeof(buffer)/sizeof(WCHAR) ))
{
- if (strcmpW( buffer, data->country )) goto done;
+ if (strcmpiW( buffer, data->country )) goto done;
matches++; /* country name matched */
}
}
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index 1bac84603a..05564c4392 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -2704,6 +2704,7 @@ static void test_LocaleNameToLCID(void)
INT ret;
WCHAR buffer[LOCALE_NAME_MAX_LENGTH];
static const WCHAR enW[] = {'e','n',0};
+ static const WCHAR esesW[] = {'e','s','-','e','s',0};
if (!pLocaleNameToLCID)
{
@@ -2744,6 +2745,10 @@ static void test_LocaleNameToLCID(void)
ok(!lcid && GetLastError() == ERROR_INVALID_PARAMETER,
"Expected lcid == 0, got %08x, error %d\n", lcid, GetLastError());
+ /* lower-case */
+ lcid = pLocaleNameToLCID(esesW, 0);
+ ok(lcid == MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH_MODERN), SORT_DEFAULT), "Got wrong lcid for es-es: 0x%x\n", lcid);
+
/* english neutral name */
lcid = pLocaleNameToLCID(enW, 0);
ok(lcid == MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT) ||
--
2.11.0
More information about the wine-patches
mailing list