From 3bb56ae078e80b3d228be092dc66962760d9a892 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 12 Nov 2012 21:44:46 +0100 Subject: distinguish between GOTO, LOOP and CONDITIONAL parse-only modes: fixes loop branching in conditionals e.g. <0"=1;'...do something...> now works as expected --- parser.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'parser.h') diff --git a/parser.h b/parser.h index fca2c20..edd8adf 100644 --- a/parser.h +++ b/parser.h @@ -166,11 +166,13 @@ namespace States { extern enum Mode { MODE_NORMAL = 0, - MODE_PARSE_ONLY + MODE_PARSE_ONLY_GOTO, + MODE_PARSE_ONLY_LOOP, + MODE_PARSE_ONLY_COND } mode; #define BEGIN_EXEC(STATE) G_STMT_START { \ - if (mode != MODE_NORMAL) \ + if (mode > MODE_NORMAL) \ return STATE; \ } G_STMT_END -- cgit v1.2.3