Commit b951e74f authored by Michael Catanzaro's avatar Michael Catanzaro

Revert "gnome-languages: Use uselocale to avoid threadsafety issues"

This reverts commit 1f33beb6
parent 1f33beb6
Pipeline #65933 passed with stage
in 2 minutes and 54 seconds
......@@ -286,15 +286,15 @@ gnome_normalize_locale (const char *locale)
static gboolean
language_name_is_valid (const char *language_name)
{
locale_t locale;
gboolean is_valid;
int lc_type_id = LC_MESSAGES;
g_autofree char *old_locale = NULL;
locale = newlocale (LC_MESSAGES_MASK, language_name, (locale_t) 0);
if (locale != (locale_t) 0) {
freelocale (locale);
return TRUE;
}
old_locale = g_strdup (setlocale (lc_type_id, NULL));
is_valid = setlocale (lc_type_id, language_name) != NULL;
setlocale (lc_type_id, old_locale);
return FALSE;
return is_valid;
}
static void
......@@ -302,15 +302,13 @@ language_name_get_codeset_details (const char *language_name,
char **pcodeset,
gboolean *is_utf8)
{
locale_t locale;
locale_t old_locale;
g_autofree char *old_locale = NULL;
const char *codeset = NULL;
locale = newlocale (LC_CTYPE_MASK, language_name, (locale_t) 0);
if (locale == (locale_t) 0)
return;
old_locale = g_strdup (setlocale (LC_CTYPE, NULL));
old_locale = uselocale (locale);
if (setlocale (LC_CTYPE, language_name) == NULL)
return;
codeset = nl_langinfo (CODESET);
......@@ -324,8 +322,7 @@ language_name_get_codeset_details (const char *language_name,
*is_utf8 = strcmp (normalized_codeset, "UTF-8") == 0;
}
uselocale (old_locale);
freelocale (locale);
setlocale (LC_CTYPE, old_locale);
}
/**
......@@ -702,13 +699,12 @@ get_translated_language (const char *code,
name = NULL;
if (language != NULL) {
const char *translated_name;
locale_t loc;
locale_t old_locale;
const char *translated_name;
g_autofree char *old_locale = NULL;
if (locale != NULL) {
loc = newlocale (LC_MESSAGES_MASK, locale, (locale_t) 0);
old_locale = uselocale (loc);
old_locale = g_strdup (setlocale (LC_MESSAGES, NULL));
setlocale (LC_MESSAGES, locale);
}
if (is_fallback_language (code)) {
......@@ -721,8 +717,7 @@ get_translated_language (const char *code,
}
if (locale != NULL) {
uselocale (old_locale);
freelocale (loc);
setlocale (LC_MESSAGES, old_locale);
}
}
......@@ -759,13 +754,12 @@ get_translated_territory (const char *code,
name = NULL;
if (territory != NULL) {
const char *translated_territory;
locale_t loc;
locale_t old_locale;
g_autofree char *old_locale = NULL;
g_autofree char *tmp = NULL;
if (locale != NULL) {
loc = newlocale (LC_MESSAGES_MASK, locale, (locale_t) 0);
old_locale = uselocale (loc);
old_locale = g_strdup (setlocale (LC_MESSAGES, NULL));
setlocale (LC_MESSAGES, locale);
}
translated_territory = dgettext ("iso_3166", territory);
......@@ -773,8 +767,7 @@ get_translated_territory (const char *code,
name = capitalize_utf8_string (tmp);
if (locale != NULL) {
uselocale (old_locale);
freelocale (loc);
setlocale (LC_MESSAGES, old_locale);
}
}
......
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