diff options
author | Arturo Borrero <arturo.borrero.glez@gmail.com> | 2014-04-14 12:17:30 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-04-25 17:45:32 +0200 |
commit | af657c08de5cf2d1fa3b8fccdb3aef78654afcad (patch) | |
tree | f2c50ce007dda077f46ea2ad7ebad60ec569f278 /src | |
parent | 38756bcdc261866b5ca044fe5f0b1150b6128cea (diff) |
netlink: add netlink_delinearize_table() func
This code is suitable to be reusable.
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/netlink.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/netlink.c b/src/netlink.c index a2a2eeb3..5308aea1 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -656,9 +656,9 @@ void netlink_dump_table(struct nft_table *nlt) #endif } -static int list_table_cb(struct nft_table *nlt, void *arg) +static struct table *netlink_delinearize_table(struct netlink_ctx *ctx, + struct nft_table *nlt) { - struct netlink_ctx *ctx = arg; struct table *table; netlink_dump_table(nlt); @@ -669,6 +669,15 @@ static int list_table_cb(struct nft_table *nlt, void *arg) xstrdup(nft_table_attr_get_str(nlt, NFT_TABLE_ATTR_NAME)); list_add_tail(&table->list, &ctx->list); + return table; +} + +static int list_table_cb(struct nft_table *nlt, void *arg) +{ + struct netlink_ctx *ctx = arg; + + netlink_delinearize_table(ctx, nlt); + return 0; } |