+2006-10-24 Bruno Haible <bruno@clisp.org>
+
+ * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
+ iconv implementations like Irix iconv.
+
2006-10-24 Paul Eggert <eggert@cs.ucla.edu>
* modules/vararrays: New file.
else
return -1;
}
-# if !defined _LIBICONV_VERSION && (defined sgi || defined __sgi)
- /* Irix iconv() inserts a NUL byte if it cannot convert. */
+# if !defined _LIBICONV_VERSION && !defined __GLIBC__
+ /* Irix iconv() inserts a NUL byte if it cannot convert.
+ NetBSD iconv() inserts a question mark if it cannot convert.
+ Only GNU libiconv and GNU libc are known to prefer to fail rather
+ than doing a lossy conversion. */
else if (res > 0)
{
errno = EILSEQ;
else
return -1;
}
-# if !defined _LIBICONV_VERSION && (defined sgi || defined __sgi)
- /* Irix iconv() inserts a NUL byte if it cannot convert. */
+# if !defined _LIBICONV_VERSION && !defined __GLIBC__
+ /* Irix iconv() inserts a NUL byte if it cannot convert.
+ NetBSD iconv() inserts a question mark if it cannot convert.
+ Only GNU libiconv and GNU libc are known to prefer to fail rather
+ than doing a lossy conversion. */
else if (res > 0)
{
errno = EILSEQ;
else
goto failed;
}
-# if !defined _LIBICONV_VERSION && (defined sgi || defined __sgi)
- /* Irix iconv() inserts a NUL byte if it cannot convert. */
+# if !defined _LIBICONV_VERSION && !defined __GLIBC__
+ /* Irix iconv() inserts a NUL byte if it cannot convert.
+ NetBSD iconv() inserts a question mark if it cannot convert.
+ Only GNU libiconv and GNU libc are known to prefer to fail rather
+ than doing a lossy conversion. */
else if (res > 0)
{
errno = EILSEQ;