diff options
author | Florian Westphal <fw@strlen.de> | 2018-11-06 16:06:26 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2018-11-12 17:41:58 +0100 |
commit | c15c2869168d71d07aca0221e1b37f0c5da54547 (patch) | |
tree | 8869808e0c36ada3d9cb4fa67e5b609ac254598d /src | |
parent | f4e40e395af2b73cd72c5454e41fb879da8c5f61 (diff) |
xt: pass octx to translate function
We can't use it when no translation is available as libxtables will
use plain printf(), but when translation is available we can.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/statement.c | 2 | ||||
-rw-r--r-- | src/xt.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/statement.c b/src/statement.c index 1eaaf585..07e17461 100644 --- a/src/statement.c +++ b/src/statement.c @@ -832,7 +832,7 @@ struct stmt *tproxy_stmt_alloc(const struct location *loc) static void xt_stmt_print(const struct stmt *stmt, struct output_ctx *octx) { - xt_stmt_xlate(stmt); + xt_stmt_xlate(stmt, octx); } static void xt_stmt_destroy(struct stmt *stmt) @@ -26,7 +26,7 @@ #include <linux/netfilter_arp/arp_tables.h> #include <linux/netfilter_bridge/ebtables.h> -void xt_stmt_xlate(const struct stmt *stmt) +void xt_stmt_xlate(const struct stmt *stmt, struct output_ctx *octx) { struct xt_xlate *xl = xt_xlate_alloc(10240); @@ -40,7 +40,7 @@ void xt_stmt_xlate(const struct stmt *stmt) }; stmt->xt.match->xlate(xl, ¶ms); - printf("%s", xt_xlate_get(xl)); + nft_print(octx, "%s", xt_xlate_get(xl)); } else if (stmt->xt.match->print) { printf("#"); stmt->xt.match->print(&stmt->xt.entry, @@ -57,7 +57,7 @@ void xt_stmt_xlate(const struct stmt *stmt) }; stmt->xt.target->xlate(xl, ¶ms); - printf("%s", xt_xlate_get(xl)); + nft_print(octx, "%s", xt_xlate_get(xl)); } else if (stmt->xt.target->print) { printf("#"); stmt->xt.target->print(NULL, stmt->xt.target->t, 0); |