summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-11-06 16:06:26 +0100
committerFlorian Westphal <fw@strlen.de>2018-11-12 17:41:58 +0100
commitc15c2869168d71d07aca0221e1b37f0c5da54547 (patch)
tree8869808e0c36ada3d9cb4fa67e5b609ac254598d /src
parentf4e40e395af2b73cd72c5454e41fb879da8c5f61 (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.c2
-rw-r--r--src/xt.c6
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)
diff --git a/src/xt.c b/src/xt.c
index 74763d58..30d8690a 100644
--- a/src/xt.c
+++ b/src/xt.c
@@ -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, &params);
- 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, &params);
- 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);