]> Kevux Git Server - fll/commit
Update: Improve design in f_conversion to be safer when handling variables allowed... 0.5.10
authorKevin Day <thekevinday@gmail.com>
Sat, 2 Jul 2022 03:28:42 +0000 (22:28 -0500)
committerKevin Day <thekevinday@gmail.com>
Sat, 2 Jul 2022 03:35:50 +0000 (22:35 -0500)
commitad31a36afbe12103b88c2fbd479e1200f3cdc267
treec1886e15ea1490175e9c8a592644d8b56a16f81a
parent880f7a6f12fa80353a61c8aeed44fa2faa901e78
Update: Improve design in f_conversion to be safer when handling variables allowed to be replaced.

The constants are allowed (and encouraged) to be changed as desired by some developer or distributor.
This means constant strings like f_string_ascii_1_s could, in theory, be any length.

Change the do..while loops into normal while loops.
Change the while loop using sizeof(f_char_t) to instead use the actual constant string structure(via a pointer).

This situations was identified by the -fanalyzer functionality of GCC-12.1.
The -fanalyzer from earlier GCC versions, such as GCC 11, did not identify this.

The sizeof(f_char_t) is not strictly needed for the fwrite_unlocked() calls because they are wrapped in a loop.
The sizeof(f_char_t) can be assumed to be 1 in general and even if it is greater than 1, the loop will still ensure success.
Removing the sizeof(f_char_t) simplifies the design.
level_0/f_conversion/c/private-conversion.c