diff options
author | Pavel Machek <pavel@ucw.cz> | 1999-11-24 12:09:58 +0000 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 1999-11-24 12:09:58 +0000 |
commit | 8f013d9ca443d4ff39af7560039f108efa9ef474 (patch) | |
tree | 08691f3b360fd8bf49bbb55570e47534da1d3c05 /filter/filter.c | |
parent | 48f9e0195488db0a515e4e5140d402fe4fe7d927 (diff) |
Sorry, previous commit did not even compile.
Diffstat (limited to 'filter/filter.c')
-rw-r--r-- | filter/filter.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/filter/filter.c b/filter/filter.c index 19e5e45d..33587415 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -90,7 +90,7 @@ val_simple_in_range(struct f_val v1, struct f_val v2) mask = ipa_mkmask( v2.val.px.len & LEN_MASK ); if (ipa_compare(ipa_and(v2.val.px.ip, mask), ipa_and(v1.val.px.ip, mask))) return 0; - /* FIXME: read rpsl or better ask mj: is it really like this? */ + if ((v2.val.px.len & LEN_MINUS) && (v1.val.px.len <= (v2.val.px.len & LEN_MASK))) return 0; if ((v2.val.px.len & LEN_PLUS) && (v1.val.px.len < (v2.val.px.len & LEN_MASK))) @@ -216,7 +216,6 @@ interpret(struct f_inst *what) case '<': COMPARE(i==-1); case '<=': COMPARE(i!=1); - /* FIXME: Should be able to work with prefixes of limited sizes */ case '~': TWOARGS; res.type = T_BOOL; @@ -357,8 +356,8 @@ interpret(struct f_inst *what) break; } *f_rte = rte_do_cow(*f_rte); - l->next = *f_rte->attrs->eattrs; - *f_rte->attrs->eattrs = l; + l->next = (*f_rte)->attrs->eattrs; + (*f_rte)->attrs->eattrs = l; } break; |