summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2000-04-17 13:42:08 +0200
committerPavel Machek <pavel@ucw.cz>2000-04-17 13:42:08 +0200
commit4444ed2b26ae07dabbcc3e511798e2d7df3a2846 (patch)
tree9dd87654a6c26ff51038ee3e0c0a0ec56f8cc906
parent991c36b509ad5bb96b4a28d0ec53813628e393a4 (diff)
downloadbird-4444ed2b26ae07dabbcc3e511798e2d7df3a2846.tar
bird-4444ed2b26ae07dabbcc3e511798e2d7df3a2846.zip
It is good idea to separate entries in list _somehow_. Adding/deleting
to community lists from filters now works.
-rw-r--r--filter/config.Y4
-rw-r--r--filter/test.conf5
2 files changed, 6 insertions, 3 deletions
diff --git a/filter/config.Y b/filter/config.Y
index 9cdc815..3396669 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -426,8 +426,8 @@ term:
| '+' EMPTY '+' { $$ = f_new_inst(); $$->code = 'E'; $$->aux = T_PATH; }
| '-' EMPTY '-' { $$ = f_new_inst(); $$->code = 'E'; $$->aux = T_CLIST; }
| PREPEND '(' term ',' term ')' { $$ = f_new_inst(); $$->code = P('A','p'); $$->a1.p = $3; $$->a2.p = $5; }
-/* | ADD '(' term, ',' term ')' { $$ = f_new_inst(); $$->code = P('C','a'); $$->a1.p = $3; $$->a2.p = $5; $$->aux = 'a'; }
- | DELETE '(' term, ',' term ')' { $$ = f_new_inst(); $$->code = P('C','a'); $$->a1.p = $3; $$->a2.p = $5; $$->aux = 'd'; } */
+ | ADD '(' term ',' term ')' { $$ = f_new_inst(); $$->code = P('C','a'); $$->a1.p = $3; $$->a2.p = $5; $$->aux = 'a'; }
+ | DELETE '(' term ',' term ')' { $$ = f_new_inst(); $$->code = P('C','a'); $$->a1.p = $3; $$->a2.p = $5; $$->aux = 'd'; }
/* | term '.' LEN { $$->code = P('P','l'); } */
diff --git a/filter/test.conf b/filter/test.conf
index abe9d3f..f266828 100644
--- a/filter/test.conf
+++ b/filter/test.conf
@@ -50,7 +50,10 @@ clist l;
l = - empty -;
l = add( l, (1,2) );
- print "Community list ", l;
+ l = add( l, (2,3) );
+ print "Community list (1,2) (2,3) ", l;
+ l = delete( l, (2,3) );
+ print "Community list (1,2) ", l;
}
function startup()