diff --git a/filter/filter.c b/filter/filter.c index 745fcf71..fb029437 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -899,12 +899,14 @@ interpret(struct f_inst *what) break; case FI_CONDITION: ARG(1, T_BOOL); - if (v1.val.i) { + if (v1.val.i && what->a2.p) { ARG_ANY(2); - } else { - ARG_ANY(3); + break; + } + if ((!v1.val.i) && what->a3.p) { + ARG_ANY(3); + break; } - break; case FI_NOP: debug( "No operation\n" ); break;