The power is being used as the entire value.
To do this it must be capable of holding the entire supported digits of f_number_unsigned_t.
Using int results in a floating point exception.
f_status_t private_f_conversion_digit_to_file_number(const f_conversion_data_t data, f_number_unsigned_t number, int digits, FILE * const stream) {
f_number_unsigned_t current = 0;
- int power = 1;
+ f_number_unsigned_t power = 1;
f_number_unsigned_t work = 0;
for (register uint8_t i = 1; i < digits; ++i) {