summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2017-09-28 17:17:43 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2017-09-29 12:37:44 +0200
commit89122493a39f76a530ee0db862986d63b9186e83 (patch)
tree8f9712a786feb0cc625bd3f2fdf6513a6b997c19 /src
parent9c4747d04075ad1e79aa0f346e7227a43e72405e (diff)
erec_print: Pass output FILE pointer to netlink_dump_expr()
It was a bit odd that erec_print() outputs to a given FILE pointer but then calls netlink_dump_expr() which just prints to stdout. Fix this by passing the given FILE pointer along so output is guaranteed to go to the same destination. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/erec.c2
-rw-r--r--src/netlink.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/erec.c b/src/erec.c
index f62bc78c..174d1aeb 100644
--- a/src/erec.c
+++ b/src/erec.c
@@ -153,7 +153,7 @@ void erec_print(FILE *f, const struct error_record *erec,
fprintf(f, "%s\n", erec->msg);
for (l = 0; l < (int)erec->num_locations; l++) {
loc = &erec->locations[l];
- netlink_dump_expr(loc->nle, debug_mask);
+ netlink_dump_expr(loc->nle, f, debug_mask);
}
fprintf(f, "\n");
} else {
diff --git a/src/netlink.c b/src/netlink.c
index e414718b..3183a810 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -515,7 +515,8 @@ void netlink_dump_rule(const struct nftnl_rule *nlr, unsigned int debug_mask)
fprintf(stdout, "%s\n", buf);
}
-void netlink_dump_expr(const struct nftnl_expr *nle, unsigned int debug_mask)
+void netlink_dump_expr(const struct nftnl_expr *nle,
+ FILE *fp, unsigned int debug_mask)
{
char buf[4096];
@@ -523,7 +524,7 @@ void netlink_dump_expr(const struct nftnl_expr *nle, unsigned int debug_mask)
return;
nftnl_expr_snprintf(buf, sizeof(buf), nle, 0, 0);
- fprintf(stdout, "%s\n", buf);
+ fprintf(fp, "%s\n", buf);
}
static int list_rule_cb(struct nftnl_rule *nlr, void *arg)