Kaydet (Commit) 8b3ab4b8 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Some code simplification

Change-Id: I01eb2bf6fe03845787e8869a2f90bb2fced4f933
üst e27fc9b6
...@@ -65,7 +65,7 @@ BOOL GetMsiProp( MSIHANDLE hMSI, const char* pPropName, char** ppValue ) ...@@ -65,7 +65,7 @@ BOOL GetMsiProp( MSIHANDLE hMSI, const char* pPropName, char** ppValue )
} }
static const char * static const char *
langid_to_string( LANGID langid, int *have_default_lang ) langid_to_string( LANGID langid )
{ {
/* Map from LANGID to string. The languages below are now in /* Map from LANGID to string. The languages below are now in
* alphabetical order of codes as in * alphabetical order of codes as in
...@@ -73,11 +73,6 @@ langid_to_string( LANGID langid, int *have_default_lang ) ...@@ -73,11 +73,6 @@ langid_to_string( LANGID langid, int *have_default_lang )
* language part is returned in the string. * language part is returned in the string.
*/ */
switch (PRIMARYLANGID (langid)) { switch (PRIMARYLANGID (langid)) {
case LANG_ENGLISH:
if (have_default_lang != NULL &&
langid == MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT))
*have_default_lang = 1;
return "en";
#define CASE(name, primary) \ #define CASE(name, primary) \
case LANG_##primary: return #name case LANG_##primary: return #name
CASE(af, AFRIKAANS); CASE(af, AFRIKAANS);
...@@ -94,6 +89,7 @@ langid_to_string( LANGID langid, int *have_default_lang ) ...@@ -94,6 +89,7 @@ langid_to_string( LANGID langid, int *have_default_lang )
CASE(da, DANISH); CASE(da, DANISH);
CASE(de, GERMAN); CASE(de, GERMAN);
CASE(el, GREEK); CASE(el, GREEK);
CASE(en, ENGLISH);
CASE(es, SPANISH); CASE(es, SPANISH);
CASE(et, ESTONIAN); CASE(et, ESTONIAN);
CASE(eu, BASQUE); CASE(eu, BASQUE);
...@@ -191,7 +187,7 @@ enum_ui_lang_proc (LPTSTR language, LONG_PTR /* unused_lParam */) ...@@ -191,7 +187,7 @@ enum_ui_lang_proc (LPTSTR language, LONG_PTR /* unused_lParam */)
long langid = strtol(language, NULL, 16); long langid = strtol(language, NULL, 16);
if (langid > 0xFFFF) if (langid > 0xFFFF)
return TRUE; return TRUE;
ui_langs[num_ui_langs] = langid_to_string((LANGID) langid, NULL); ui_langs[num_ui_langs] = langid_to_string((LANGID) langid);
num_ui_langs++; num_ui_langs++;
if (num_ui_langs == SAL_N_ELEMENTS(ui_langs) ) if (num_ui_langs == SAL_N_ELEMENTS(ui_langs) )
return FALSE; return FALSE;
...@@ -285,9 +281,8 @@ extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle ) ...@@ -285,9 +281,8 @@ extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle )
* available on the system. * available on the system.
*/ */
int have_system_default_lang = 0; const char *system_default_lang = langid_to_string(GetSystemDefaultUILanguage());
const char *system_default_lang = langid_to_string(GetSystemDefaultUILanguage(), &have_system_default_lang); const char *user_locale_lang = langid_to_string(LANGIDFROMLCID(GetThreadLocale()));
const char *user_locale_lang = langid_to_string(LANGIDFROMLCID(GetThreadLocale()), NULL);
EnumUILanguagesA(enum_ui_lang_proc, 0, 0); EnumUILanguagesA(enum_ui_lang_proc, 0, 0);
...@@ -307,19 +302,19 @@ extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle ) ...@@ -307,19 +302,19 @@ extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle )
* languages for an unsuspecting user of a Finnish Windows, for * languages for an unsuspecting user of a Finnish Windows, for
* instance. Sigh. * instance. Sigh.
*/ */
bool have_system_default_lang = false;
if (system_default_lang[0]) { if (system_default_lang[0]) {
for (i = 0; i < nlangs; i++) { for (i = 0; i < nlangs; i++) {
if (memcmp (system_default_lang, langs[i], 2) == 0) { if (memcmp (system_default_lang, langs[i], 2) == 0) {
have_system_default_lang = 1; have_system_default_lang = true;
break;
} }
} }
} }
if (!have_system_default_lang) { if (!have_system_default_lang) {
system_default_lang = "en"; system_default_lang = "en";
have_system_default_lang = 1;
} }
if (have_system_default_lang) {
for (i = 0; i < nlangs; i++) { for (i = 0; i < nlangs; i++) {
if (memcmp(system_default_lang, langs[i], 2) != 0 && if (memcmp(system_default_lang, langs[i], 2) != 0 &&
memcmp(user_locale_lang, langs[i], 2) != 0 && memcmp(user_locale_lang, langs[i], 2) != 0 &&
...@@ -331,7 +326,6 @@ extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle ) ...@@ -331,7 +326,6 @@ extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle )
} }
} }
} }
}
MsiCloseHandle(database); MsiCloseHandle(database);
return ERROR_SUCCESS; return ERROR_SUCCESS;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment