]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
segtree: remove dead code in set_expr_add_splice()
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 5 Feb 2026 02:41:23 +0000 (03:41 +0100)
committerFlorian Westphal <fw@strlen.de>
Tue, 10 Feb 2026 17:22:01 +0000 (18:22 +0100)
If get_set_interval_find() always returns EXPR_SET_ELEM, then,
set_expr_add_splice() always takes EXPR_SET_ELEM.

This reworks:

  2b164aec4295 ("src: fix reset element support for interval set type")

which does _not_ seem to have a tests/shell unit.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
src/segtree.c

index 0ff1577b75b907759f60fb5de60282f40d28b31e..69d6f513c55d35721b8efd03007f678eb988cb92 100644 (file)
@@ -218,26 +218,11 @@ static struct expr *expr_to_set_elem(struct expr *e)
 
 static void set_expr_add_splice(struct expr *compound, struct expr *expr, struct expr *orig)
 {
-       struct expr *elem;
-
        assert(expr->etype == EXPR_SET_ELEM);
        assert(orig->etype == EXPR_SET_ELEM);
 
-       switch (expr->etype) {
-       case EXPR_SET_ELEM:
-               list_splice_init(&orig->stmt_list, &expr->stmt_list);
-               set_expr_add(compound, expr);
-               break;
-       case EXPR_MAPPING:
-               list_splice_init(&orig->left->stmt_list, &expr->left->stmt_list);
-               set_expr_add(compound, expr);
-               break;
-       default:
-               elem = set_elem_expr_alloc(&orig->location, expr);
-               list_splice_init(&orig->stmt_list, &elem->stmt_list);
-               set_expr_add(compound, elem);
-               break;
-       }
+       list_splice_init(&orig->stmt_list, &expr->stmt_list);
+       set_expr_add(compound, expr);
 }
 
 int get_set_decompose(struct set *cache_set, struct set *set)