(_nl_init_domain_conv): Don't append //TRANSLIT to the encoding if it already
authordrepper <drepper>
Thu, 12 Dec 2002 06:56:02 +0000 (06:56 +0000)
committerdrepper <drepper>
Thu, 12 Dec 2002 06:56:02 +0000 (06:56 +0000)
has slashes.

intl/loadmsgcat.c

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