@@ -105,7 +105,8 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
{
int mask;
/* Name of the locale for this category. */
- char *loc_name = (char *) *name;
+ const char *loc_name = *name;
+ char *loc_name_copy;
const char *language;
const char *modifier;
const char *territory;
@@ -161,8 +162,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
loc_name = (char *) _nl_expand_alias (*name);
if (loc_name != NULL)
{
- data = _nl_load_locale_from_archive (category,
- (const char **) &loc_name);
+ data = _nl_load_locale_from_archive (category, &loc_name);
if (__builtin_expect (data != NULL, 1))
return data;
}
@@ -182,7 +182,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
loc_name = (char *) *name;
/* Make a writable copy of the locale name. */
- loc_name = strdupa (loc_name);
+ loc_name_copy = strdupa (loc_name);
/* LOCALE can consist of up to four recognized parts for the XPG syntax:
@@ -197,7 +197,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
(3) territory
(4) modifier
*/
- mask = _nl_explode_name (loc_name, &language, &modifier, &territory,
+ mask = _nl_explode_name (loc_name_copy, &language, &modifier, &territory,
&codeset, &normalized_codeset);
if (mask == -1)
/* Memory allocate problem. */