summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index fc79cfaa..b59c932a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -332,6 +332,7 @@ static int nft_run_cmd_from_buffer(struct nft_ctx *nft,
struct parser_state state;
LIST_HEAD(msgs);
void *scanner;
+ FILE *fp;
parser_init(nft->nf_sock, &nft->cache, &state,
&msgs, nft->debug_mask, &nft->output);
@@ -341,7 +342,9 @@ static int nft_run_cmd_from_buffer(struct nft_ctx *nft,
if (nft_run(nft, nft->nf_sock, scanner, &state, &msgs) != 0)
rc = NFT_EXIT_FAILURE;
- erec_print_list(stderr, &msgs, nft->debug_mask);
+ fp = nft_ctx_set_output(nft, stderr);
+ erec_print_list(&nft->output, &msgs, nft->debug_mask);
+ nft_ctx_set_output(nft, fp);
scanner_destroy(scanner);
return rc;
@@ -353,6 +356,7 @@ static int nft_run_cmd_from_filename(struct nft_ctx *nft, const char *filename)
LIST_HEAD(msgs);
void *scanner;
int rc;
+ FILE *fp;
rc = cache_update(nft->nf_sock, &nft->cache, CMD_INVALID, &msgs,
nft->debug_mask, &nft->output);
@@ -370,7 +374,9 @@ static int nft_run_cmd_from_filename(struct nft_ctx *nft, const char *filename)
if (nft_run(nft, nft->nf_sock, scanner, &state, &msgs) != 0)
rc = NFT_EXIT_FAILURE;
err:
- erec_print_list(stderr, &msgs, nft->debug_mask);
+ fp = nft_ctx_set_output(nft, stderr);
+ erec_print_list(&nft->output, &msgs, nft->debug_mask);
+ nft_ctx_set_output(nft, fp);
scanner_destroy(scanner);
return rc;