From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/ntdll/locale.c | 14 ++++---------- dlls/ntdll/unix/env.c | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c index 105de1feec4..73c0c2c5520 100644 --- a/dlls/ntdll/locale.c +++ b/dlls/ntdll/locale.c @@ -94,6 +94,7 @@ invalid:
void locale_init(void) { + const NLS_LOCALE_LCID_INDEX *entry; USHORT utf8[2] = { 0, CP_UTF8 }; WCHAR locale[LOCALE_NAME_MAX_LENGTH]; LARGE_INTEGER unused; @@ -112,16 +113,9 @@ void locale_init(void) locale_table = (const NLS_LOCALE_HEADER *)((char *)header + header->locales); locale_strings = (const WCHAR *)((char *)locale_table + locale_table->strings_offset);
- if (system_lcid == LOCALE_CUSTOM_UNSPECIFIED) - { - ansi_cp = oem_cp = CP_UTF8; - } - else - { - const NLS_LOCALE_LCID_INDEX *entry = find_lcid_entry( locale_table, system_lcid ); - ansi_cp = get_locale_data( locale_table, entry->idx )->idefaultansicodepage; - oem_cp = get_locale_data( locale_table, entry->idx )->idefaultcodepage; - } + entry = find_lcid_entry( locale_table, system_lcid ); + ansi_cp = get_locale_data( locale_table, entry->idx )->idefaultansicodepage; + oem_cp = get_locale_data( locale_table, entry->idx )->idefaultcodepage;
NtQueryDefaultLocale( TRUE, &user_resource_lcid ); user_resource_neutral_lcid = PRIMARYLANGID( user_resource_lcid ); diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index 062da7600b1..ad5a7c412d6 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -859,7 +859,7 @@ static void init_locale(void) if ((header = read_nls_file( "locale.nls" ))) { locale_table = (const NLS_LOCALE_HEADER *)((char *)header + header->locales); - if ((locale = get_win_locale( locale_table, system_locale ))) + if ((locale = get_win_locale( locale_table, system_locale )) && locale->idefaultlanguage != LOCALE_CUSTOM_UNSPECIFIED) system_lcid = locale->idefaultlanguage; if ((locale = get_win_locale( locale_table, user_locale ))) user_lcid = locale->idefaultlanguage;