]> Kevux Git Server - fll/commitdiff
Bugfix: Incorrect condition checks for wrap and replace parameters in iki_read.
authorKevin Day <Kevin@kevux.org>
Fri, 14 Jun 2024 03:24:33 +0000 (22:24 -0500)
committerKevin Day <Kevin@kevux.org>
Fri, 14 Jun 2024 03:24:33 +0000 (22:24 -0500)
level_3/iki_read/c/main/common.c

index 96360f2294111fd39af442b423868a3f9d64d145..67eb5361f9f327e8748c106d19ee7e3020e07e07 100644 (file)
@@ -190,8 +190,8 @@ extern "C" {
       return;
     }
 
-    if (main->program.parameters.array[iki_read_parameter_replace_e].result != f_console_result_none_e) {
-      if ((main->program.parameters.array[iki_read_parameter_replace_e].result & f_console_result_found_e) || main->program.parameters.array[iki_read_parameter_replace_e].values.used % 2) {
+    if (main->program.parameters.array[iki_read_parameter_replace_e].result & f_console_result_found_e) {
+      if (!(main->program.parameters.array[iki_read_parameter_replace_e].result & f_console_result_value_e) || (main->program.parameters.array[iki_read_parameter_replace_e].values.used % 2)) {
         main->setting.state.status = F_status_set_error(F_parameter);
 
         fll_program_print_error_parameter_missing_value_requires_amount(&main->program.error, f_console_symbol_long_normal_s, iki_read_long_replace_s, iki_read_string_two_s);
@@ -273,8 +273,8 @@ extern "C" {
 
     if (F_status_is_error(main->setting.state.status)) return;
 
-    if (main->program.parameters.array[iki_read_parameter_wrap_e].result != f_console_result_none_e) {
-      if ((main->program.parameters.array[iki_read_parameter_wrap_e].result & f_console_result_found_e) || main->program.parameters.array[iki_read_parameter_wrap_e].values.used % 3) {
+    if (main->program.parameters.array[iki_read_parameter_wrap_e].result & f_console_result_found_e) {
+      if (!(main->program.parameters.array[iki_read_parameter_wrap_e].result & f_console_result_value_e) || (main->program.parameters.array[iki_read_parameter_wrap_e].values.used % 3)) {
         main->setting.state.status = F_status_set_error(F_parameter);
 
         fll_program_print_error_parameter_missing_value_requires_amount(&main->program.error, f_console_symbol_long_normal_s, iki_read_long_wrap_s, iki_read_string_three_s);