summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/util/Expression.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/util/Expression.c b/src/util/Expression.c
index a9728878..19573d63 100644
--- a/src/util/Expression.c
+++ b/src/util/Expression.c
@@ -615,22 +615,24 @@ static pToken *Tokenise(const char *expression)
@@*/
#define RESIZE_STACK(stack) \
+{ \
(stack)->ntokens++; \
(stack)->tokens = (uExpressionToken *)realloc((stack)->tokens, \
(stack)->ntokens*sizeof(uExpressionToken));\
+} while(0)
#define PUSHOP(stack, xtype, value) do \
{ \
- RESIZE_STACK(stack) \
+ RESIZE_STACK(stack); \
(stack)->tokens[(stack)->ntokens-1].type = xtype; \
(stack)->tokens[(stack)->ntokens-1].token.opcode = value; \
} while(0)
#define PUSHTOK(stack, xtype, value) do \
{ \
- RESIZE_STACK(stack) \
+ RESIZE_STACK(stack); \
(stack)->tokens[(stack)->ntokens-1].type = xtype; \
- (stack)->tokens[(stack)->ntokens-1].token.varnum = value; break; \
+ (stack)->tokens[(stack)->ntokens-1].token.varnum = value; \
} while(0)
static int RPParse(pToken **current, uExpressionInternals *buffer)