summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2023-04-29 15:48:09 +0200
committerFlorian Westphal <fw@strlen.de>2023-04-29 15:48:09 +0200
commit0d614a853bf49acf06f47aed2bbeb8a704959165 (patch)
tree15bca0b710f4f18b874f4a526dbe5d9f3b690e15 /src
parent2aa0b0a3696ea78282f6b6eeb7748923ab3a1109 (diff)
src: fix enum/integer mismatches
gcc 13 complains about type confusion: cache.c:1178:5: warning: conflicting types for 'nft_cache_update' due to enum/integer mismatch; have 'int(struct nft_ctx *, unsigned int, struct list_head *, const struct nft_cache_filter *)' [-Wenum-int-mismatch] cache.h:74:5: note: previous declaration of 'nft_cache_update' with type 'int(struct nft_ctx *, enum cmd_ops, struct list_head *, const struct nft_cache_filter *)' Same for: rule.c:1915:13: warning: conflicting types for 'obj_type_name' due to enum/integer mismatch; have 'const char *(enum stmt_types)' [-Wenum-int-mismatch] 1915 | const char *obj_type_name(enum stmt_types type) | ^~~~~~~~~~~~~ expression.c:1543:24: warning: conflicting types for 'expr_ops_by_type' due to enum/integer mismatch; have 'const struct expr_ops *(uint32_t)' {aka 'const struct expr_ops *(unsigned int)'} [-Wenum-int-mismatch] 1543 | const struct expr_ops *expr_ops_by_type(uint32_t value) | ^~~~~~~~~~~~~~~~ Convert to the stricter type (enum) where possible. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src')
-rw-r--r--src/expression.c2
-rw-r--r--src/rule.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/expression.c b/src/expression.c
index ce7fef09..9b53f43b 100644
--- a/src/expression.c
+++ b/src/expression.c
@@ -1540,7 +1540,7 @@ const struct expr_ops *expr_ops(const struct expr *e)
return __expr_ops_by_type(e->etype);
}
-const struct expr_ops *expr_ops_by_type(uint32_t value)
+const struct expr_ops *expr_ops_by_type(enum expr_types value)
{
/* value might come from unreliable source, such as "udata"
* annotation of set keys. Avoid BUG() assertion.
diff --git a/src/rule.c b/src/rule.c
index c075d027..633a5a12 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -1912,7 +1912,7 @@ static const char * const obj_type_name_array[] = {
[NFT_OBJECT_CT_EXPECT] = "ct expectation",
};
-const char *obj_type_name(enum stmt_types type)
+const char *obj_type_name(unsigned int type)
{
assert(type <= NFT_OBJECT_MAX && obj_type_name_array[type]);
@@ -1930,7 +1930,7 @@ static uint32_t obj_type_cmd_array[NFT_OBJECT_MAX + 1] = {
[NFT_OBJECT_CT_EXPECT] = CMD_OBJ_CT_EXPECT,
};
-uint32_t obj_type_to_cmd(uint32_t type)
+enum cmd_obj obj_type_to_cmd(uint32_t type)
{
assert(type <= NFT_OBJECT_MAX && obj_type_cmd_array[type]);