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>.
This commit is contained in:
Ulrich Drepper 2002-12-12 06:58:20 +00:00
parent da63009e0f
commit 57f97cff02
2 changed files with 17 additions and 8 deletions

View File

@ -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> 2002-12-11 Roland McGrath <roland@redhat.com>
* csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino. * csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino.

View File

@ -829,20 +829,23 @@ _nl_init_domain_conv (domain_file, domain, domainbinding)
we want to use transliteration. */ we want to use transliteration. */
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
|| _LIBICONV_VERSION >= 0x0105 || _LIBICONV_VERSION >= 0x0105
len = strlen (outcharset); if (strchr (outcharset, '/') == NULL)
if (len < 10 || strcmp (outcharset + len - 9, "/TRANSLIT") != 0)
{ {
char *tmp = (char *) alloca (len + 10 + 1); char *tmp;
len = strlen (outcharset);
tmp = (char *) alloca (len + 10 + 1);
memcpy (tmp, outcharset, len); memcpy (tmp, outcharset, len);
memcpy (tmp + len, "//TRANSLIT", 10 + 1); memcpy (tmp + len, "//TRANSLIT", 10 + 1);
outcharset = tmp; outcharset = tmp;
domain->conv = iconv_open (outcharset, charset);
freea (outcharset);
} }
else
# endif # endif
domain->conv = iconv_open (outcharset, charset); domain->conv = iconv_open (outcharset, charset);
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
|| _LIBICONV_VERSION >= 0x0105
freea (outcharset);
# endif
# endif # endif
# endif # endif