]> Kevux Git Server - fll/commitdiff
Bugfix: NULL is a valid character, causing utf8 not to properly print NULL characters.
authorKevin Day <thekevinday@gmail.com>
Tue, 10 May 2022 02:45:09 +0000 (21:45 -0500)
committerKevin Day <thekevinday@gmail.com>
Tue, 10 May 2022 02:45:09 +0000 (21:45 -0500)
The function f_utf_unicode_from() is incorrectly treating f_utf_char_t as a string (or a pointer).
The f_utf_char_t is a 32-bit integer.
The !0 check is therefore incorrect.

This affects all print functions.

level_0/f_utf/c/utf/convert.c

index a213139150a1877ce6587499c89285954faedfc6..7f738e3f197c52e480a69c4800cca26f097fe53f 100644 (file)
@@ -214,10 +214,8 @@ extern "C" {
   f_status_t f_utf_unicode_from(const f_utf_char_t unicode, const f_array_length_t width_max, f_string_t *character) {
     #ifndef _di_level_0_parameter_checking_
       if (width_max < 1) return F_status_set_error(F_parameter);
-      if (!unicode) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
-    // @fixme the code here needs to be reviewed for endianess accuracy for both big and little endian.
     if (unicode > 0x10ffff) {
       return F_status_set_error(F_utf);
     }