summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2025-03-26 21:54:01 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2025-03-27 21:39:03 +0100
commit357820e7a21434ae91c97dd2ad65515f08ff92bd (patch)
tree973d1d2229a2b6e1eeaaf55a3cf265856c9f205f
parent2200a105d4befc15b0cfa6cc24282e493888dc82 (diff)
expression: add __EXPR_MAX and use it to define EXPR_MAX
EXPR_MAX was never updated to the newest expression, add __EXPR_MAX and use it to define EXPR_MAX. Add case to expr_ops() other gcc complains with a warning on the __EXPR_MAX case is not handled. Fixes: 347039f64509 ("src: add symbol range expression to further compact intervals") Suggested-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/expression.h4
-rw-r--r--src/expression.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/include/expression.h b/include/expression.h
index 84727486..6e8675b0 100644
--- a/include/expression.h
+++ b/include/expression.h
@@ -84,9 +84,9 @@ enum expr_types {
EXPR_FLAGCMP,
EXPR_RANGE_VALUE,
EXPR_RANGE_SYMBOL,
-
- EXPR_MAX = EXPR_FLAGCMP
+ __EXPR_MAX
};
+#define EXPR_MAX (__EXPR_MAX - 1)
enum ops {
OP_INVALID,
diff --git a/src/expression.c b/src/expression.c
index 156a66eb..52e4c7d1 100644
--- a/src/expression.c
+++ b/src/expression.c
@@ -1794,6 +1794,7 @@ static const struct expr_ops *__expr_ops_by_type(enum expr_types etype)
case EXPR_FLAGCMP: return &flagcmp_expr_ops;
case EXPR_RANGE_VALUE: return &constant_range_expr_ops;
case EXPR_RANGE_SYMBOL: return &symbol_range_expr_ops;
+ case __EXPR_MAX: break;
}
return NULL;