[nft PATCH 12/12] parser_bison: Pass struct nft_ctx to parser_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signature of parser_init() got quite huge, so simply pass the whole
context pointer to it - most of the parameters are just taken from there
anyway.

Signed-off-by: Phil Sutter <phil@xxxxxx>
---
 include/parser.h   |  6 ++----
 src/libnftables.c  |  6 ++----
 src/parser_bison.y | 14 ++++++--------
 3 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/include/parser.h b/include/parser.h
index 7961275742bc2..ea41ca038a021 100644
--- a/include/parser.h
+++ b/include/parser.h
@@ -31,10 +31,8 @@ struct parser_state {
 
 struct mnl_socket;
 
-extern void parser_init(struct mnl_socket *nf_sock, struct nft_cache *cache,
-			struct parser_state *state, struct list_head *msgs,
-			struct list_head *cmds, unsigned int debug_level,
-			struct output_ctx *octx);
+extern void parser_init(struct nft_ctx *nft, struct parser_state *state,
+			struct list_head *msgs, struct list_head *cmds);
 extern int nft_parse(struct nft_ctx *ctx, void *, struct parser_state *state);
 
 extern void *scanner_init(struct parser_state *state);
diff --git a/src/libnftables.c b/src/libnftables.c
index 56a98ab1aaefe..f336dbc3e3f43 100644
--- a/src/libnftables.c
+++ b/src/libnftables.c
@@ -408,8 +408,7 @@ int nft_run_cmd_from_buffer(struct nft_ctx *nft, char *buf, size_t buflen)
 	nlbuf = xzalloc(nlbuflen);
 	snprintf(nlbuf, nlbuflen, "%s\n", buf);
 
-	parser_init(nft->nf_sock, &nft->cache, &state,
-		    &msgs, &cmds, nft->debug_mask, &nft->output);
+	parser_init(nft, &state, &msgs, &cmds);
 	scanner = scanner_init(&state);
 	scanner_push_buffer(scanner, &indesc_cmdline, nlbuf);
 
@@ -445,8 +444,7 @@ int nft_run_cmd_from_filename(struct nft_ctx *nft, const char *filename)
 	if (!strcmp(filename, "-"))
 		filename = "/dev/stdin";
 
-	parser_init(nft->nf_sock, &nft->cache, &state,
-		    &msgs, &cmds, nft->debug_mask, &nft->output);
+	parser_init(nft, &state, &msgs, &cmds);
 	scanner = scanner_init(&state);
 	if (scanner_read_file(scanner, filename, &internal_location) < 0) {
 		rc = -1;
diff --git a/src/parser_bison.y b/src/parser_bison.y
index 1ca5d4048c288..e2440be15aa2f 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -36,21 +36,19 @@
 
 #include "parser_bison.h"
 
-void parser_init(struct mnl_socket *nf_sock, struct nft_cache *cache,
-		 struct parser_state *state, struct list_head *msgs,
-		 struct list_head *cmds, unsigned int debug_mask,
-		 struct output_ctx *octx)
+void parser_init(struct nft_ctx *nft, struct parser_state *state,
+		 struct list_head *msgs, struct list_head *cmds)
 {
 	memset(state, 0, sizeof(*state));
 	init_list_head(&state->top_scope.symbols);
 	state->msgs = msgs;
 	state->cmds = cmds;
 	state->scopes[0] = scope_init(&state->top_scope, NULL);
-	state->ectx.cache = cache;
+	state->ectx.cache = &nft->cache;
 	state->ectx.msgs = msgs;
-	state->ectx.nf_sock = nf_sock;
-	state->ectx.debug_mask = debug_mask;
-	state->ectx.octx = octx;
+	state->ectx.nf_sock = nft->nf_sock;
+	state->ectx.debug_mask = nft->debug_mask;
+	state->ectx.octx = &nft->output;
 }
 
 static void yyerror(struct location *loc, struct nft_ctx *nft, void *scanner,
-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux