summaryrefslogtreecommitdiffstats
path: root/filter/config.Y
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2011-03-23 12:49:53 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2011-03-23 12:49:53 +0100
commit26d92bb8921ac4e022cdc88bde8fc7bc617f8766 (patch)
tree5e900b466e46e1848b4d2bd98a5894cf6214b08b /filter/config.Y
parent6bcef22580010aec695fb2b559c7b33ee00261b0 (diff)
downloadbird-26d92bb8921ac4e022cdc88bde8fc7bc617f8766.tar
bird-26d92bb8921ac4e022cdc88bde8fc7bc617f8766.zip
A hack to distinguish if..else from else: in case.
The old BIRD grammar needs two lookaheads to distinguish if..else from else: in case, which caused the parser to fail on some combinations of both expressions. This patch replaces two tokens 'else' ':' by one token 'else:' to fix that.
Diffstat (limited to 'filter/config.Y')
-rw-r--r--filter/config.Y4
1 files changed, 2 insertions, 2 deletions
diff --git a/filter/config.Y b/filter/config.Y
index 8ff2046..b9aa67f 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -305,11 +305,11 @@ switch_body: /* EMPTY */ { $$ = NULL; }
$$->data = $4;
$$->left = $1;
}
- | switch_body ELSE ':' cmds {
+ | switch_body ELSECOL cmds {
$$ = f_new_tree();
$$->from.type = T_VOID;
$$->to.type = T_VOID;
- $$->data = $4;
+ $$->data = $3;
$$->left = $1;
}
;