From: "Erich E. Hoover" Subject: [PATCH 3/3] kernel32: Allow CompareStringEx LINGUISTIC_IGNORECASE flag. Message-Id: Date: Wed, 16 Apr 2014 14:09:49 -0600 This patch adds LINGUISTIC_IGNORECASE to the list of semi-stub flags with 0x10000000 and NORM_LINGUISTIC_CASING. A small subset of applications that use NORM_LINGUISTIC_CASING also use this flag, simply not returning an error is enough to satisfy the application in all the cases encountered so far. From 3368b8ab7469f46b8053382dbc031054786a70c2 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Wed, 16 Apr 2014 13:55:24 -0600 Subject: kernel32: Allow CompareStringEx LINGUISTIC_IGNORECASE flag. --- dlls/kernel32/locale.c | 2 +- dlls/kernel32/tests/locale.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index 9597895..eca0e39 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -2987,7 +2987,7 @@ INT WINAPI CompareStringEx(LPCWSTR locale, DWORD flags, LPCWSTR str1, INT len1, { DWORD supported_flags = NORM_IGNORECASE|NORM_IGNORENONSPACE|NORM_IGNORESYMBOLS|SORT_STRINGSORT |NORM_IGNOREKANATYPE|NORM_IGNOREWIDTH|LOCALE_USE_CP_ACP; - DWORD semistub_flags = NORM_LINGUISTIC_CASING|0x10000000; + DWORD semistub_flags = NORM_LINGUISTIC_CASING|LINGUISTIC_IGNORECASE|0x10000000; /* 0x10000000 is related to diacritics in Arabic, Japanese, and Hebrew */ INT ret; diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index d3c77d0..597de37 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -1568,11 +1568,11 @@ static const struct comparestringex_test comparestringex_tests[] = { }, { /* 19 */ "tr-TR", LINGUISTIC_IGNORECASE, - {'i',0}, {0x130,0}, CSTR_LESS_THAN, -1, TRUE + {'i',0}, {0x130,0}, CSTR_LESS_THAN, -1, FALSE }, { /* 20 */ "tr-TR", LINGUISTIC_IGNORECASE, - {'i',0}, {0x131,0}, CSTR_LESS_THAN, -1, TRUE + {'i',0}, {0x131,0}, CSTR_LESS_THAN, -1, FALSE }, { /* 21 */ "tr-TR", LINGUISTIC_IGNORECASE, @@ -1580,7 +1580,7 @@ static const struct comparestringex_test comparestringex_tests[] = { }, { /* 22 */ "tr-TR", LINGUISTIC_IGNORECASE, - {'I',0}, {0x131,0}, CSTR_LESS_THAN, -1, TRUE + {'I',0}, {0x131,0}, CSTR_LESS_THAN, -1, FALSE }, { /* 23 */ "tr-TR", LINGUISTIC_IGNORECASE, -- 1.7.9.5