Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 12 Dec 2002 06:58:20 +0000 (06:58 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 12 Dec 2002 06:58:20 +0000 (06:58 +0000)
2002-04-30  Bruno Haible  <bruno@clisp.org>

* intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
the encoding if it already has slashes.
Reported by Perry Rapp <prapp@erols.com>.

ChangeLog
intl/loadmsgcat.c

index 937362f..289530a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-30  Bruno Haible  <bruno@clisp.org>
+
+       * intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
+       the encoding if it already has slashes.
+       Reported by Perry Rapp <prapp@erols.com>.
+
 2002-12-11  Roland McGrath  <roland@redhat.com>
 
        * csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino.
index 7238ad3..afcbd3c 100644 (file)
@@ -829,20 +829,23 @@ _nl_init_domain_conv (domain_file, domain, domainbinding)
             we want to use transliteration.  */
 #   if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
        || _LIBICONV_VERSION >= 0x0105
-         len = strlen (outcharset);
-         if (len < 10 || strcmp (outcharset + len - 9, "/TRANSLIT") != 0)
+         if (strchr (outcharset, '/') == NULL)
            {
-             char *tmp = (char *) alloca (len + 10 + 1);
+             char *tmp;
+
+             len = strlen (outcharset);
+             tmp = (char *) alloca (len + 10 + 1);
              memcpy (tmp, outcharset, len);
              memcpy (tmp + len, "//TRANSLIT", 10 + 1);
              outcharset = tmp;
+
+             domain->conv = iconv_open (outcharset, charset);
+
+             freea (outcharset);
            }
+         else
 #   endif
-         domain->conv = iconv_open (outcharset, charset);
-#   if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
-       || _LIBICONV_VERSION >= 0x0105
-         freea (outcharset);
-#   endif
+           domain->conv = iconv_open (outcharset, charset);
 #  endif
 # endif