summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-05-30 16:21:48 +0200
committerMaria Matejka <mq@ucw.cz>2022-05-30 16:21:48 +0200
commit0097f24e2e8b3feb56d4ae5c5b56a8defd9f7d2e (patch)
tree501f4338c51b61362e31b3da8e39f48b2069f028 /filter
parent86ac1045d7497af8c7556c5051d4b005fbfcdbe1 (diff)
parentde86040b2cf4ec9bfbb64f0e208a19d4d7e51adc (diff)
Merge commit 'de86040b2cf4ec9bfbb64f0e208a19d4d7e51adc' into haugesund
Diffstat (limited to 'filter')
-rw-r--r--filter/data.h15
-rw-r--r--filter/f-inst.c8
2 files changed, 3 insertions, 20 deletions
diff --git a/filter/data.h b/filter/data.h
index 0b1e8e57..9ffa1b61 100644
--- a/filter/data.h
+++ b/filter/data.h
@@ -16,20 +16,7 @@
/* Filter value; size of this affects filter memory consumption */
struct f_val {
btype type; /* T_* */
- union {
- union bval bval;
- BVAL_ITEMS;
-
- u64 ec;
- lcomm lc;
- ip_addr ip;
- const net_addr *net;
- const char *s;
- const struct f_tree *t;
- const struct f_trie *ti;
- const struct f_path_mask *path_mask;
- struct f_path_mask_item pmi;
- } val;
+ union bval_long val;
};
#define fputip(a) ({ ip_addr *ax = falloc(sizeof(*ax)); *ax = (a); ax; })
diff --git a/filter/f-inst.c b/filter/f-inst.c
index 852afc51..c8e597e9 100644
--- a/filter/f-inst.c
+++ b/filter/f-inst.c
@@ -717,12 +717,8 @@
runtime( "Setting opaque attribute is not allowed" );
break;
- case T_IP:;
- int len = sizeof(ip_addr);
- struct adata *ad = lp_alloc(fs->pool, sizeof(struct adata) + len);
- ad->length = len;
- (* (ip_addr *) ad->data) = v1.val.ip;
- l->attrs[0].u.ptr = ad;
+ case T_IP:
+ l->attrs[0].u.ptr = lp_store_adata(fs->pool, &v1.val.ip, sizeof(ip_addr));
break;
default: