summaryrefslogtreecommitdiffstats
path: root/filter/config.Y
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-05-22 22:47:24 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2010-05-22 22:47:24 +0200
commitba5c0057ed01fb006b7a6fb1bd8c21f0c9ae12be (patch)
treebcbab1f5404ec81e6d5eef038ce4104a20866368 /filter/config.Y
parent6d04ef8987f6f5483d353d393ef66dae4b887f30 (diff)
downloadbird-ba5c0057ed01fb006b7a6fb1bd8c21f0c9ae12be.tar
bird-ba5c0057ed01fb006b7a6fb1bd8c21f0c9ae12be.zip
Extends pair set syntax, matching and deleting against clist.
Expressions like (123,*) can be used in pair set literals, clists can be matched against pair sets (community ~ pairset) and pair sets can be used to specify items to delete from clists (community.delete(pairset)).
Diffstat (limited to 'filter/config.Y')
-rw-r--r--filter/config.Y8
1 files changed, 7 insertions, 1 deletions
diff --git a/filter/config.Y b/filter/config.Y
index 7723658..0140c0c 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -243,7 +243,13 @@ set_atom:
;
set_item:
- set_atom {
+ '(' NUM ',' '*' ')' {
+ $$ = f_new_tree();
+ $$->from.type = $$->to.type = T_PAIR;
+ $$->from.val.i = make_pair($2, 0);
+ $$->to.val.i = make_pair($2, 0xffff);
+ }
+ | set_atom {
$$ = f_new_tree();
$$->from = $1;
$$->to = $1;