From 2535ba7006f22a6470f4c88ea7d30c343a1d8799 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Thu, 28 Sep 2017 17:17:45 +0200 Subject: src: get rid of printf This patch introduces nft_print()/nft_gmp_print() functions which have to be used instead of printf to output information that were previously send to stdout. These functions print to a FILE pointer defined in struct output_ctx. It is set by calling: | old_fp = nft_ctx_set_output(ctx, new_fp); Having an application-defined FILE pointer is actually quite flexible: Using fmemopen() or even fopencookie(), an application gains full control over what is printed and where it should go to. Signed-off-by: Eric Leblond Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- src/numgen.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/numgen.c') diff --git a/src/numgen.c b/src/numgen.c index 19a4a9ce..aa6da490 100644 --- a/src/numgen.c +++ b/src/numgen.c @@ -30,10 +30,11 @@ static const char *numgen_type_str(enum nft_ng_types type) static void numgen_expr_print(const struct expr *expr, struct output_ctx *octx) { - printf("numgen %s mod %u", numgen_type_str(expr->numgen.type), - expr->numgen.mod); + nft_print(octx, "numgen %s mod %u", + numgen_type_str(expr->numgen.type), + expr->numgen.mod); if (expr->numgen.offset) - printf(" offset %u", expr->numgen.offset); + nft_print(octx, " offset %u", expr->numgen.offset); } static bool numgen_expr_cmp(const struct expr *e1, const struct expr *e2) -- cgit v1.2.3