From d94b18819ad4ee3237c46ad43a962d0121f0c3fe Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 25 Apr 2014 17:31:17 +0200 Subject: ensure that expressions.eval(true) pops the brace "operator" test case: 1<()> * an empty brace (or content that does not leave anything on the stack) resulted in the brace op to be left on the stack which makes the op stack inconsistent --- src/expressions.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/expressions.cpp b/src/expressions.cpp index 03febf1..87785a7 100644 --- a/src/expressions.cpp +++ b/src/expressions.cpp @@ -176,9 +176,6 @@ Expressions::eval(bool pop_brace) gint n = first_op(); Operator op; - if (n < 2) - break; - op = operators.peek(n); if (op == OP_LOOP) break; @@ -187,6 +184,8 @@ Expressions::eval(bool pop_brace) pop_op(n); break; } + if (n < 2) + break; calc(); } -- cgit v1.2.3