Module: wine Branch: oldstable Commit: bafcf5bcdb50db6345e1b9bed42e40722e9ac3d8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=bafcf5bcdb50db6345e1b9bed... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Thu Apr 5 23:13:51 2018 +0200 msvcrt: Support "China" country name in setlocale function. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 8905bd92aa61ed5493844cbe65db4eedca6839c7) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/msvcrt/locale.c | 3 +++ dlls/msvcrt/tests/locale.c | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c index 088e1b7..6314840 100644 --- a/dlls/msvcrt/locale.c +++ b/dlls/msvcrt/locale.c @@ -249,6 +249,9 @@ LCID MSVCRT_locale_to_LCID(const char *locale, unsigned short *codepage) if(!search.search_country[0] && !search.search_codepage[0]) remap_synonym(search.search_language); + if(!strcasecmp(search.search_country, "China")) + strcpy(search.search_country, "People's Republic of China"); + EnumResourceLanguagesA(GetModuleHandleA("KERNEL32"), (LPSTR)RT_STRING, (LPCSTR)LOCALE_ILANGUAGE,find_best_locale_proc, (LONG_PTR)&search); diff --git a/dlls/msvcrt/tests/locale.c b/dlls/msvcrt/tests/locale.c index f87a791..8717fea 100644 --- a/dlls/msvcrt/tests/locale.c +++ b/dlls/msvcrt/tests/locale.c @@ -144,12 +144,10 @@ static void test_setlocale(void) || broken(!strcmp(ret, "Chinese_Taiwan.950")), "ret = %s\n", ret); ret = setlocale(LC_ALL, "Chinese_China.936"); -todo_wine ok(ret != NULL || broken (ret == NULL), "ret == NULL\n"); if(ret) { trace("Chinese_China.936=%s\n", ret); -todo_wine ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936") /* Vista - Win7 */ || !strcmp(ret, "Chinese (Simplified)_China.936") /* Win8 - Win10 */ || broken(!strcmp(ret, "Chinese_People's Republic of China.936")), "ret = %s\n", ret);