diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-07-18 20:01:27 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-07-18 20:08:25 +0200 |
commit | 6cdc49ffbe0a672c27f4fffe831563b12a8e2e61 (patch) | |
tree | 76e1b5318bfdd9627f8ab5138293cbe569c25da4 /src/expr/nat.c | |
parent | 5ecac519cd78043d0a5bfead1922a683d32db9d2 (diff) |
src: simplify getter logic
This patch refactors the getter code to simplify it. The default
cases have been removed so gcc will spot a warning if an attribute
is not handled appropriately.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/expr/nat.c')
-rw-r--r-- | src/expr/nat.c | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/src/expr/nat.c b/src/expr/nat.c index 78184c4..ce8d5e2 100644 --- a/src/expr/nat.c +++ b/src/expr/nat.c @@ -72,45 +72,24 @@ nft_rule_expr_nat_get(const struct nft_rule_expr *e, uint16_t type, switch(type) { case NFT_EXPR_NAT_TYPE: - if (e->flags & (1 << NFT_EXPR_NAT_TYPE)) { - *data_len = sizeof(nat->type); - return &nat->type; - } - break; + *data_len = sizeof(nat->type); + return &nat->type; case NFT_EXPR_NAT_FAMILY: - if (e->flags & (1 << NFT_EXPR_NAT_FAMILY)) { - *data_len = sizeof(nat->family); - return &nat->family; - } - break; + *data_len = sizeof(nat->family); + return &nat->family; case NFT_EXPR_NAT_REG_ADDR_MIN: - if (e->flags & (1 << NFT_EXPR_NAT_REG_ADDR_MIN)) { - *data_len = sizeof(nat->sreg_addr_min); - return &nat->sreg_addr_min; - } - break; + *data_len = sizeof(nat->sreg_addr_min); + return &nat->sreg_addr_min; case NFT_EXPR_NAT_REG_ADDR_MAX: - if (e->flags & (1 << NFT_EXPR_NAT_REG_ADDR_MAX)) { - *data_len = sizeof(nat->sreg_addr_max); - return &nat->sreg_addr_max; - } - break; + *data_len = sizeof(nat->sreg_addr_max); + return &nat->sreg_addr_max; case NFT_EXPR_NAT_REG_PROTO_MIN: - if (e->flags & (1 << NFT_EXPR_NAT_REG_PROTO_MIN)) { - *data_len = sizeof(nat->sreg_proto_min); - return &nat->sreg_proto_min; - } - break; + *data_len = sizeof(nat->sreg_proto_min); + return &nat->sreg_proto_min; case NFT_EXPR_NAT_REG_PROTO_MAX: - if (e->flags & (1 << NFT_EXPR_NAT_REG_PROTO_MAX)) { - *data_len = sizeof(nat->sreg_proto_max); - return &nat->sreg_proto_max; - } - break; - default: - break; + *data_len = sizeof(nat->sreg_proto_max); + return &nat->sreg_proto_max; } - return NULL; } |