diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-07-21 15:32:21 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-07-21 15:34:22 +0200 |
commit | 3ebc57b84c227fcfc55545af85e246ab4cad2041 (patch) | |
tree | 6282fe2013861938b47a1f6d2ccd35407380de94 /src | |
parent | cc9573dfa25585a415f6c12950758ce32f337294 (diff) |
expr: refactor nft_rule_expr_get
Merge common checking for attribute set in nft_rule_expr_get.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/expr.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -102,21 +102,19 @@ nft_rule_expr_set_str(struct nft_rule_expr *expr, uint16_t type, const char *str } EXPORT_SYMBOL(nft_rule_expr_set_str); -const void *nft_rule_expr_get(const struct nft_rule_expr *expr, uint16_t type, size_t *data_len) +const void *nft_rule_expr_get(const struct nft_rule_expr *expr, + uint16_t type, size_t *data_len) { - const void *ret = NULL; + const void *ret; + + if (!(expr->flags & (1 << type))) + return NULL; switch(type) { case NFT_RULE_EXPR_ATTR_NAME: - if (!(expr->flags & (1 << NFT_RULE_EXPR_ATTR_NAME))) - return NULL; - ret = expr->ops->name; break; default: - if (!(expr->flags & (1 << type))) - return NULL; - ret = expr->ops->get(expr, type, data_len); break; } |