[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: portability issues with unicodeio
From: |
Bruno Haible |
Subject: |
Re: portability issues with unicodeio |
Date: |
Fri, 10 Jul 2020 09:52:38 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-179-generic; KDE/5.18.0; x86_64; ; ) |
> * tests/test-unicodeio.c (main): In the "C" locale, expect either the
> UTF-8 output or the specified fallback.
Now that we have a unit test, I see that the test fails on NetBSD 9.0. This
patch fixes it.
2020-07-10 Bruno Haible <bruno@clisp.org>
unicodeio: Fix wrong result on NetBSD.
* lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
characters also on NetBSD.
diff --git a/lib/unicodeio.c b/lib/unicodeio.c
index 81fe0dd..b616e3d 100644
--- a/lib/unicodeio.c
+++ b/lib/unicodeio.c
@@ -134,9 +134,10 @@ unicode_to_mb (unsigned int code,
# if !defined _LIBICONV_VERSION && (defined sgi || defined __sgi)
|| (res > 0 && code != 0 && outptr - outbuf == 1 && *outbuf == '\0')
# endif
- /* Solaris 11 iconv() inserts a '?' if it cannot convert. */
-# if !defined _LIBICONV_VERSION && defined __sun
- || (res > 0 && code != 0 && outptr - outbuf == 1 && *outbuf == '?')
+ /* NetBSD iconv() and Solaris 11 iconv() insert a '?' if they cannot
+ convert. */
+# if !defined _LIBICONV_VERSION && (defined __NetBSD__ || defined __sun)
+ || (res > 0 && outptr - outbuf == 1 && *outbuf == '?')
# endif
)
return failure (code, NULL, callback_arg);