]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
rule: Make 'nft export' respect output_fp
authorPhil Sutter <phil@nwl.cc>
Thu, 16 Nov 2017 08:06:28 +0000 (09:06 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 16 Nov 2017 13:39:13 +0000 (14:39 +0100)
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/rule.c

index 6667501117468661e6622e88f764df37ff1c77b6..eb91be4636e214e1042e3dab2851e0cffc4ac2a0 100644 (file)
@@ -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;