diff options
author | Jim Meyering <jim@meyering.net> | 2001-03-15 14:49:56 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2001-03-15 14:49:56 +0000 |
commit | a5d6ae87e0f935bf2dda042b175108bcb5797d62 (patch) | |
tree | 591700508ba9d932624e727556f5b13d30591c16 | |
parent | 1341235a1c8f00ca832654ff0f4599e2998cab76 (diff) | |
download | coreutils-a5d6ae87e0f935bf2dda042b175108bcb5797d62.tar.xz |
(locale_charset): Allow wildcard syntax. Also resolve
alias if codeset is empty.
-rw-r--r-- | lib/localcharset.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/localcharset.c b/lib/localcharset.c index fa6f8a34a..575372dca 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -252,18 +252,17 @@ locale_charset () if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; - else if (codeset[0] != '\0') - { - /* Resolve alias. */ - for (aliases = get_charset_aliases (); - *aliases != '\0'; - aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) - if (!strcmp (codeset, aliases)) - { - codeset = aliases + strlen (aliases) + 1; - break; - } - } + + /* Resolve alias. */ + for (aliases = get_charset_aliases (); + *aliases != '\0'; + aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) + if (strcmp (codeset, aliases) == 0 + || (aliases[0] == '*' && aliases[1] == '\0')) + { + codeset = aliases + strlen (aliases) + 1; + break; + } return codeset; } |