summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2017-11-16 09:06:28 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2017-11-16 14:39:13 +0100
commit5a6b8c83f15a81777d5e952ffbfb954d06c27228 (patch)
tree96c398ab867b6c72083954a7c8ed7814677f018b
parent90417cc148e01b746957dbcf375daa3378a50c58 (diff)
rule: Make 'nft export' respect output_fp
Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/rule.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/rule.c b/src/rule.c
index 66675011..eb91be46 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -1151,6 +1151,10 @@ static int do_command_delete(struct netlink_ctx *ctx, struct cmd *cmd)
static int do_command_export(struct netlink_ctx *ctx, struct cmd *cmd)
{
struct nftnl_ruleset *rs;
+ FILE *fp = ctx->octx->output_fp;
+
+ if (!fp)
+ return 0;
do {
rs = netlink_dump_ruleset(ctx, &cmd->handle, &cmd->location);
@@ -1158,8 +1162,9 @@ static int do_command_export(struct netlink_ctx *ctx, struct cmd *cmd)
return -1;
} while (rs == NULL);
- nftnl_ruleset_fprintf(stdout, rs, cmd->export->format, 0);
- fprintf(stdout, "\n");
+ nftnl_ruleset_fprintf(fp, rs, cmd->export->format, 0);
+ fprintf(fp, "\n");
+ fflush(fp);
nftnl_ruleset_free(rs);
return 0;