+2024-11-19 Pádraig Brady <P@draigBrady.com>
+
+ unicodeio: avoid iconv issues for most ASCII characters
+ * lib/unicodeio.c (print_unicode_char): Avoid unicode_to_mb()
+ for mose ASCII characters, to avoid iconv() issues
+ which were seen on macOS.
+ Addresses https://bugs.gnu.org/74428
+
2024-11-19 Bruno Haible <bruno@clisp.org>
stdlib: Adjust warning about function 'free'.
void
print_unicode_char (FILE *stream, unsigned int code, int exit_on_error)
{
- unicode_to_mb (code, fwrite_success_callback,
- exit_on_error
- ? exit_failure_callback
- : fallback_failure_callback,
- stream);
+ /* Simplify this subset to avoid potential iconv() issues
+ for that range at least. */
+ if (32 <= code && code < 128)
+ {
+ char code_char = code;
+ fwrite_success_callback (&code_char, sizeof code_char, stream);
+ }
+ else
+ unicode_to_mb (code, fwrite_success_callback,
+ exit_on_error
+ ? exit_failure_callback
+ : fallback_failure_callback,
+ stream);
}