summaryrefslogtreecommitdiffstats
path: root/src/table.c
diff options
context:
space:
mode:
authorAna Rey <anarey@gmail.com>2014-06-26 19:08:38 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-06-30 12:45:55 +0200
commitd9f776d9c153ff779c787f1b3d712dc883ff3ac7 (patch)
tree6cd7266bfceef7673c8f3f978820bceb247d997a /src/table.c
parente7d5395825b7eed5f366ef2e95d9fd1812390a6d (diff)
table: Use nft_table_attr_set_* in the xml functions
Code refactoring to use nft_table_attr_set_* in parse xml functions. Signed-off-by: Ana Rey <anarey@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/table.c')
-rw-r--r--src/table.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/table.c b/src/table.c
index ed6e615..de4a64d 100644
--- a/src/table.c
+++ b/src/table.c
@@ -263,32 +263,24 @@ int nft_mxml_table_parse(mxml_node_t *tree, struct nft_table *t,
{
const char *name;
int family;
+ uint32_t flags;
name = nft_mxml_str_parse(tree, "name", MXML_DESCEND_FIRST,
NFT_XML_MAND, err);
if (name == NULL)
return -1;
-
- if (t->name)
- xfree(t->name);
-
- t->name = strdup(name);
- t->flags |= (1 << NFT_TABLE_ATTR_NAME);
+ nft_table_attr_set_str(t, NFT_TABLE_ATTR_NAME, name);
family = nft_mxml_family_parse(tree, "family", MXML_DESCEND_FIRST,
NFT_XML_MAND, err);
if (family < 0)
return -1;
-
- t->family = family;
- t->flags |= (1 << NFT_TABLE_ATTR_FAMILY);
+ nft_table_attr_set_u32(t, NFT_TABLE_ATTR_FAMILY, family);
if (nft_mxml_num_parse(tree, "flags", MXML_DESCEND, BASE_DEC,
- &t->table_flags, NFT_TYPE_U32,
- NFT_XML_MAND, err) != 0)
+ &flags, NFT_TYPE_U32, NFT_XML_MAND, err) != 0)
return -1;
-
- t->flags |= (1 << NFT_TABLE_ATTR_FLAGS);
+ nft_table_attr_set_u32(t, NFT_TABLE_ATTR_FLAGS, flags);
return 0;
}