unicode characters 0x24, 0x40 and 0x60 were not considered as valid characters.
Signed-off-by: Roel Kluin <roel.kl...@gmail.com> --- I believe this was intended: diff --git a/src/printf.c b/src/printf.c index 1f5451e..3a14e75 100644 --- a/src/printf.c +++ b/src/printf.c @@ -282,7 +282,7 @@ print_esc (const char *escstart, bool octal_0) character name shall not designate a character in the required character set. */ if ((uni_value <= 0x9f - && uni_value != 0x24 && uni_value != 0x40 && uni_value != 0x60) + && (uni_value != 0x24 || uni_value != 0x40 || uni_value != 0x60)) || (uni_value >= 0xd800 && uni_value <= 0xdfff)) error (EXIT_FAILURE, 0, _("invalid universal character name \\%c%0*x"), esc_char, (esc_char == 'u' ? 4 : 8), uni_value);