diff options
Diffstat (limited to 'src/charset.c')
-rwxr-xr-x | src/charset.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/charset.c b/src/charset.c index 6684540..b00af23 100755 --- a/src/charset.c +++ b/src/charset.c @@ -354,22 +354,23 @@ get_encoding_from_locale (const char *locale) */ const gchar *get_locale (void) { - if (g_getenv("LC_ALL")) - return g_getenv("LC_ALL"); + gchar *loc; + + if ((loc = g_getenv("LC_ALL")) && *loc) + return loc; - else if (g_getenv("LC_CTYPE")) - return g_getenv("LC_CTYPE"); + else if ((loc = g_getenv("LC_CTYPE")) && *loc) + return loc; - else if (g_getenv("LANG")) - return g_getenv("LANG"); + else if ((loc = g_getenv("LANG")) && *loc) + return loc; - else - return NULL; + else + return NULL; } - /* * convert_string : (don't use with UTF-16 strings) * - display_error : if TRUE, may return an escaped string and display an error |