summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-05-10 18:52:40 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-05-11 21:39:01 +0200
commit62b02808594d962f83e8b76f4da32da0673c7cfe (patch)
tree79e3c860b711190a33ed6969290be1b4199c54f0
parentff2f54192eef3a0ca20c842f179ca73daf766b0f (diff)
parser_bison: add set_elem_key_expr rule
Add a rule to specify the set key expression in preparation for the catch-all element support. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/parser_bison.y10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y
index b50b6064..e4a5ade2 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -842,6 +842,9 @@ int nft_lex(void *, void *, void *);
%type <expr> xfrm_expr
%destructor { expr_free($$); } xfrm_expr
+%type <expr> set_elem_key_expr
+%destructor { expr_free($$); } set_elem_key_expr
+
%%
input : /* empty */
@@ -4084,13 +4087,16 @@ set_elem_expr : set_elem_expr_alloc
| set_elem_expr_alloc set_elem_expr_options
;
-set_elem_expr_alloc : set_lhs_expr set_elem_stmt_list
+set_elem_key_expr : set_lhs_expr { $$ = $1; }
+ ;
+
+set_elem_expr_alloc : set_elem_key_expr set_elem_stmt_list
{
$$ = set_elem_expr_alloc(&@1, $1);
list_splice_tail($2, &$$->stmt_list);
xfree($2);
}
- | set_lhs_expr
+ | set_elem_key_expr
{
$$ = set_elem_expr_alloc(&@1, $1);
}