diff options
author | Bruno Haible <bruno@clisp.org> | 2001-03-11 15:59:30 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2001-03-11 15:59:30 +0000 |
commit | f8f80824ddd0df71e91864cc4f9c5315a7f3158e (patch) | |
tree | 88485e06562dbab6686306290ade7ec65a6085c7 | |
parent | b02ecb52eddcaea9a52b42c2218091658c10a392 (diff) | |
download | external_gettext-f8f80824ddd0df71e91864cc4f9c5315a7f3158e.zip external_gettext-f8f80824ddd0df71e91864cc4f9c5315a7f3158e.tar.gz external_gettext-f8f80824ddd0df71e91864cc4f9c5315a7f3158e.tar.bz2 |
Re-add support for BeOS, broken by DJGPP patches.
-rw-r--r-- | lib/ChangeLog | 6 | ||||
-rwxr-xr-x | lib/config.charset | 2 | ||||
-rw-r--r-- | lib/localcharset.c | 23 |
3 files changed, 18 insertions, 13 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 97cc9ad..7648b96 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2001-03-10 Bruno Haible <haible@clisp.cons.org> + + * localcharset.c (locale_charset): Allow wildcard syntax. Resolve + alias also if codeset is empty. + * config.charset (BeOS): Use wildcard syntax. + 2001-03-09 Bruno Haible <haible@clisp.cons.org> * config.charset: Update from libiconv-1.6. diff --git a/lib/config.charset b/lib/config.charset index 0844094..d6f3695 100755 --- a/lib/config.charset +++ b/lib/config.charset @@ -272,7 +272,7 @@ case "$os" in ;; beos*) # BeOS has a single locale, and it has UTF-8 encoding. - echo "C UTF-8" + echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore diff --git a/lib/localcharset.c b/lib/localcharset.c index 201483c..22e09e4 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -255,18 +255,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; } |