]> Kevux Git Server - control/commitdiff
Bugfix: Incorrect parameter processing of parameters with values. 0.7.3
authorKevin Day <Kevin@kevux.org>
Sat, 22 Nov 2025 13:50:48 +0000 (07:50 -0600)
committerKevin Day <Kevin@kevux.org>
Sat, 22 Nov 2025 13:51:04 +0000 (07:51 -0600)
The `f_console_result_value_d` should be checked first because `f_console_result_found_d` will be set when `f_console_result_value_d` is set.

sources/c/program/control/main/common.c

index 23c7b118891623bcec8a6fade9e0ddbf17e07fb3..99f47078220142722040a8941d49ba1ff49fbf0f 100644 (file)
@@ -326,16 +326,7 @@ extern "C" {
 
       for (i = 0; i < 3; ++i) {
 
-        if (main->program.parameters.array[ids[i]].result & f_console_result_found_d) {
-          main->setting.state.status = F_status_set_error(F_parameter);
-
-          if (error_printed_not) {
-            error_printed_not = F_true;
-          }
-
-          control_print_error_parameter_value_not(&main->program.error, names[i]);
-        }
-        else if (main->program.parameters.array[ids[i]].result & f_console_result_value_d) {
+        if (main->program.parameters.array[ids[i]].result & f_console_result_value_d) {
           index = main->program.parameters.array[ids[i]].values.array[main->program.parameters.array[ids[i]].values.used - 1];
 
           if (!main->program.parameters.arguments.array[index].used) {
@@ -348,6 +339,15 @@ extern "C" {
             control_print_error_parameter_value_empty(&main->program.error, names[i]);
           }
         }
+        else if (main->program.parameters.array[ids[i]].result & f_console_result_found_d) {
+          main->setting.state.status = F_status_set_error(F_parameter);
+
+          if (error_printed_not) {
+            error_printed_not = F_true;
+          }
+
+          control_print_error_parameter_value_not(&main->program.error, names[i]);
+        }
       } // for
     }