diff options
author | Alvaro Neira <alvaroneay@gmail.com> | 2015-01-23 15:49:51 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-01-29 12:20:19 +0100 |
commit | ecfc6b8de985de2745d4cb41b7afe1d0eadf39f6 (patch) | |
tree | 302240831a8bdfca5af53cbcce701b6f5abe34ea | |
parent | dbdf25c7c95969431b0c45cc2dd165021d6a05cc (diff) |
set: refactor code in json parse function
This patch refactors code to parse the set in two functions
nft_jansson_parse_set_info and nft_jansson_parse_set. These changes are
used in follow up patches.
Signed-off-by: Alvaro Neira Ayuso <alvaroneay@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/set.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -410,19 +410,15 @@ int nft_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nft_set *s) EXPORT_SYMBOL(nft_set_nlmsg_parse); #ifdef JSON_PARSING -int nft_jansson_parse_set(struct nft_set *s, json_t *tree, - struct nft_parse_err *err) +static int nft_jansson_parse_set_info(struct nft_set *s, json_t *tree, + struct nft_parse_err *err) { - json_t *root, *array, *json_elem; + json_t *root = tree, *array, *json_elem; uint32_t flags, key_type, key_len, data_type, data_len, policy, size; int family, i; const char *name, *table; struct nft_set_elem *elem; - root = nft_jansson_get_node(tree, "set", err); - if (root == NULL) - return -1; - name = nft_jansson_parse_str(root, "name", err); if (name == NULL) return -1; @@ -503,6 +499,18 @@ int nft_jansson_parse_set(struct nft_set *s, json_t *tree, return 0; } + +int nft_jansson_parse_set(struct nft_set *s, json_t *tree, + struct nft_parse_err *err) +{ + json_t *root; + + root = nft_jansson_get_node(tree, "set", err); + if (root == NULL) + return -1; + + return nft_jansson_parse_set_info(s, root, err); +} #endif static int nft_set_json_parse(struct nft_set *s, const void *json, |