summaryrefslogtreecommitdiffstats
path: root/src/expr/nat.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-07-18 20:01:27 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-07-18 20:08:25 +0200
commit6cdc49ffbe0a672c27f4fffe831563b12a8e2e61 (patch)
tree76e1b5318bfdd9627f8ab5138293cbe569c25da4 /src/expr/nat.c
parent5ecac519cd78043d0a5bfead1922a683d32db9d2 (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.c45
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;
}