]> Kevux Git Server - fll/commitdiff
Bugfix: The out of range is printing and then continues processing.
authorKevin Day <thekevinday@gmail.com>
Wed, 30 Mar 2022 03:37:07 +0000 (22:37 -0500)
committerKevin Day <thekevinday@gmail.com>
Wed, 30 Mar 2022 03:37:07 +0000 (22:37 -0500)
When out of range happens an error should be printed and should stop processing for that parameter.
This is not happening because the status is incorrectly being returned when status is not assigned an error bit.
The out of range check happens independent of the status variable.

level_3/fss_status_code/c/private-fss_status_code.c
level_3/status_code/c/private-status_code.c

index 1000f1692eec38eba2bcf8963f96f6c63c89981c..729541a1b2575b5b009f330fd286383434c8ec1d 100644 (file)
@@ -144,7 +144,7 @@ extern "C" {
     if (*number > F_status_size_max_with_bits_d) {
       fl_print_format("%[out of range%]%r", main->output.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s);
 
-      return status;
+      return F_status_set_error(F_number_overflow);
     }
 
     if (F_status_is_error(status)) {
index 15e12292ccf56894eff58dc3480963df2b6a6d92..44e09e3bda8c796832149e9b5d006fda110a5b5c 100644 (file)
@@ -136,7 +136,7 @@ extern "C" {
     if (*number > F_status_size_max_with_bits_d) {
       fl_print_format("%[out of range%]%r", main->output.to.stream, main->context.set.error, main->context.set.error, f_string_eol_s);
 
-      return status;
+      return F_status_set_error(F_number_overflow);
     }
 
     if (F_status_is_error(status)) {