From 6cdc49ffbe0a672c27f4fffe831563b12a8e2e61 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 18 Jul 2013 20:01:27 +0200 Subject: 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 --- src/expr/bitwise.c | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) (limited to 'src/expr/bitwise.c') diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c index bfb3163..84de249 100644 --- a/src/expr/bitwise.c +++ b/src/expr/bitwise.c @@ -69,37 +69,20 @@ nft_rule_expr_bitwise_get(const struct nft_rule_expr *e, uint16_t type, switch(type) { case NFT_EXPR_BITWISE_SREG: - if (e->flags & (1 << NFT_EXPR_BITWISE_SREG)) { - *data_len = sizeof(bitwise->sreg); - return &bitwise->sreg; - } - break; + *data_len = sizeof(bitwise->sreg); + return &bitwise->sreg; case NFT_EXPR_BITWISE_DREG: - if (e->flags & (1 << NFT_EXPR_BITWISE_DREG)) { - *data_len = sizeof(bitwise->dreg); - return &bitwise->dreg; - } - break; + *data_len = sizeof(bitwise->dreg); + return &bitwise->dreg; case NFT_EXPR_BITWISE_LEN: - if (e->flags & (1 << NFT_EXPR_BITWISE_LEN)) { - *data_len = sizeof(bitwise->len); - return &bitwise->len; - } - break; + *data_len = sizeof(bitwise->len); + return &bitwise->len; case NFT_EXPR_BITWISE_MASK: - if (e->flags & (1 << NFT_EXPR_BITWISE_MASK)) { - *data_len = bitwise->mask.len; - return &bitwise->mask.val; - } - break; + *data_len = bitwise->mask.len; + return &bitwise->mask.val; case NFT_EXPR_BITWISE_XOR: - if (e->flags & (1 << NFT_EXPR_BITWISE_XOR)) { - *data_len = bitwise->xor.len; - return &bitwise->xor.val; - } - break; - default: - break; + *data_len = bitwise->xor.len; + return &bitwise->xor.val; } return NULL; } -- cgit v1.2.3