I overlooked that the result was comparing against f_console_result_none rather than f_console_result_found.
This messed up my previous attempt to fix this.
Change the behavior and also explicitly assign the else case.
// The interruptable default is dependent on the "as init" execution state.
if (main->as_init) {
- if (main->parameters[controller_parameter_uninterruptable].result == f_console_result_none) {
+ if (main->parameters[controller_parameter_interruptable].result == f_console_result_found) {
setting.interruptable = F_true;
}
+ else {
+ setting.interruptable = F_false;
+ }
}
else {
- if (main->parameters[controller_parameter_interruptable].result == f_console_result_found) {
+ if (main->parameters[controller_parameter_uninterruptable].result == f_console_result_found) {
+ setting.interruptable = F_false;
+ }
+ else {
setting.interruptable = F_true;
}
}