From 6b1d7ed0d6bf01e709f31e103e888ccf42153448 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Thu, 26 Feb 2009 22:55:28 +0000 Subject: [PATCH] * cleanup * fix BSD non-preset locale case to C --- webcit/gettext.c | 33 ++++++++++++--------------------- webcit/wc_gettext.h | 1 - 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/webcit/gettext.c b/webcit/gettext.c index c921ffb12..0fa245094 100644 --- a/webcit/gettext.c +++ b/webcit/gettext.c @@ -237,19 +237,6 @@ void stop_selected_language(void) { #endif } -void preset_locale(void) -{ -#ifdef HAVE_GETTEXT - char *language; - - language = getenv("WEBCIT_LANG"); - if ((language) && (!IsEmptyStr(language)) && (strcmp(language, "UNLIMITED") != 0)) { - lprintf(9, "Nailing locale to %s\n", language); - setlocale(LC_MESSAGES, language); - } -#endif -} - #ifdef HAVE_USELOCALE locale_t Empty_Locale; #endif @@ -265,8 +252,7 @@ void initialize_locales(void) { language = getenv("WEBCIT_LANG"); if ((language) && (!IsEmptyStr(language)) && (strcmp(language, "UNLIMITED") != 0)) { lprintf(9, "Nailing locale to %s\n", language); - setlocale(LC_MESSAGES, language); - } + } else language = NULL; #ifdef HAVE_USELOCALE @@ -304,9 +290,16 @@ void initialize_locales(void) { nLocalesLoaded++; } #else - setenv("LANG", buf, 1); - AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; - nLocalesLoaded++; + if (language != NULL) { + setenv("LANG", buf, 1); + AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; + nLocalesLoaded++; + } + else if (nLocalesLoaded == 0) { + setenv("LANG", buf, 1); + AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; + nLocalesLoaded++; + } #endif } if ((language != NULL) && (nLocalesLoaded == 0)) { @@ -317,6 +310,7 @@ void initialize_locales(void) { AvailLang[0], Empty_Locale); #else + setlocale(LC_MESSAGES, AvailLang[0]); setenv("LANG", AvailLang[0], 1); #endif AvailLangLoaded[0] = AvailLang[0]; @@ -363,9 +357,6 @@ void go_selected_language(void) { void stop_selected_language(void) { } -void preset_locale(void) -{ -} #endif /* ENABLE_NLS */ diff --git a/webcit/wc_gettext.h b/webcit/wc_gettext.h index c976b8c2f..e1f427965 100644 --- a/webcit/wc_gettext.h +++ b/webcit/wc_gettext.h @@ -15,5 +15,4 @@ void offer_languages(StrBuf *Target, int nArgs, WCTemplateToken *Token, void *Co void set_selected_language(const char *); void go_selected_language(void); void stop_selected_language(void); -void preset_locale(void); void httplang_to_locale(StrBuf *LocaleString); -- 2.30.2