diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-04-17 13:42:08 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-04-17 13:42:08 +0200 |
commit | 4444ed2b26ae07dabbcc3e511798e2d7df3a2846 (patch) | |
tree | 9dd87654a6c26ff51038ee3e0c0a0ec56f8cc906 | |
parent | 991c36b509ad5bb96b4a28d0ec53813628e393a4 (diff) | |
download | bird-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.Y | 4 | ||||
-rw-r--r-- | filter/test.conf | 5 |
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() |