summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;