msvcrt: Support "China" country name in setlocale function.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Piotr Caban 2018-04-05 23:13:51 +02:00 committed by Alexandre Julliard
parent 19bb93ec10
commit 8905bd92aa
2 changed files with 3 additions and 2 deletions

View File

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

View File

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