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/table.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'src/table.c') diff --git a/src/table.c b/src/table.c index bdab178..e1dbd38 100644 --- a/src/table.c +++ b/src/table.c @@ -1,5 +1,5 @@ /* - * (C) 2012 by Pablo Neira Ayuso + * (C) 2012-2013 by Pablo Neira Ayuso * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published @@ -112,23 +112,18 @@ EXPORT_SYMBOL(nft_table_attr_set_str); const void *nft_table_attr_get(struct nft_table *t, uint16_t attr) { - const void *ret = NULL; + if (!(t->flags & (1 << attr))) + return NULL; switch(attr) { case NFT_TABLE_ATTR_NAME: - if (t->flags & (1 << NFT_TABLE_ATTR_NAME)) - ret = t->name; - break; + return t->name; case NFT_TABLE_ATTR_FLAGS: - if (t->flags & (1 << NFT_TABLE_ATTR_FLAGS)) - ret = &t->table_flags; - break; + return &t->table_flags; case NFT_TABLE_ATTR_FAMILY: - if (t->flags & (1 << NFT_TABLE_ATTR_FAMILY)) - ret = &t->family; - break; + return &t->family; } - return ret; + return NULL; } EXPORT_SYMBOL(nft_table_attr_get); -- cgit v1.2.3