summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2001-03-11 15:59:30 +0000
committerBruno Haible <bruno@clisp.org>2001-03-11 15:59:30 +0000
commitf8f80824ddd0df71e91864cc4f9c5315a7f3158e (patch)
tree88485e06562dbab6686306290ade7ec65a6085c7
parentb02ecb52eddcaea9a52b42c2218091658c10a392 (diff)
downloadexternal_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/ChangeLog6
-rwxr-xr-xlib/config.charset2
-rw-r--r--lib/localcharset.c23
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;
}