>       * 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  <br...@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);


Reply via email to