Enlightenment CVS committal Author : stffrdhrn Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_intl.c Log Message: Try to fix logic for setting locales when NULL is passed, This shoud satisfy the needs of both Mathieu and andyetitmoves. - Get lang from env vars - If we were passed NULL do not set any env vars =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_intl.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- e_intl.c 2 Dec 2005 19:20:48 -0000 1.60 +++ e_intl.c 3 Dec 2005 05:56:10 -0000 1.61 @@ -163,28 +163,43 @@ e_intl_language_set(const char *lang) { char *alias_locale; - + int set_envars; + if (_e_intl_language) free(_e_intl_language); - /* NULL lang means set everything back to the original environment defaults */ + set_envars = 1; + /* NULL lang means set everything back to the original environment + * defaults + */ if (!lang) { e_util_env_set("LC_MESSAGES", _e_intl_orig_lc_messages); e_util_env_set("LANGUAGE", _e_intl_orig_language); e_util_env_set("LC_ALL", _e_intl_orig_lc_all); e_util_env_set("LANG", _e_intl_orig_lang); + + lang = getenv("LC_MESSAGES"); + if (!lang) lang = getenv("LANGUAGE"); + if (!lang) lang = getenv("LC_ALL"); + if (!lang) lang = getenv("LANG"); + + set_envars = 0; } - if (!lang) lang = getenv("LC_MESSAGES"); - if (!lang) lang = getenv("LANGUAGE"); - if (!lang) lang = getenv("LC_ALL"); - if (!lang) lang = getenv("LANG"); + if (lang) { _e_intl_language = strdup(lang); e_util_env_set("LANGUAGE", _e_intl_language); - /* FIXME: maybe we should set these anyway? */ - if (getenv("LANG")) e_util_env_set("LANG", _e_intl_language); - if (getenv("LC_ALL")) e_util_env_set("LC_ALL", _e_intl_language); - if (getenv("LC_MESSAGES")) e_util_env_set("LC_MESSAGES", _e_intl_language); + /* Only set env vars is a non NULL locale was passed */ + if (set_envars) + { + /* FIXME: maybe we should set these anyway? */ + if (getenv("LANG")) + e_util_env_set("LANG", _e_intl_language); + if (getenv("LC_ALL")) + e_util_env_set("LC_ALL", _e_intl_language); + if (getenv("LC_MESSAGES")) + e_util_env_set("LC_MESSAGES", _e_intl_language); + } } else { ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs