diff options
author | Phil Sutter <phil@nwl.cc> | 2021-09-27 16:59:49 +0200 |
---|---|---|
committer | Phil Sutter <phil@nwl.cc> | 2021-10-20 11:32:54 +0200 |
commit | cfdda18044d81ca2e8a4f9df8a518290e2e94a07 (patch) | |
tree | 6ffd74661a974fbdbd06c658e7a7580f3376835b /iptables/xtables.c | |
parent | 65b150ae382a8b5d1fc7f2465b3ac590c1601ce1 (diff) |
nft-shared: Introduce init_cs family ops callback
Arptables sets a few defaults in struct iptables_command_state upon
initialization. Introduce a callback to do that.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'iptables/xtables.c')
-rw-r--r-- | iptables/xtables.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/iptables/xtables.c b/iptables/xtables.c index c17cf7ae..092edaaf 100644 --- a/iptables/xtables.c +++ b/iptables/xtables.c @@ -433,10 +433,6 @@ void do_parse(struct nft_handle *h, int argc, char *argv[], bool invert = false; int wait = 0; - memset(cs, 0, sizeof(*cs)); - cs->jumpto = ""; - cs->argv = argv; - /* re-set optind to 0 in case do_command4 gets called * a second time */ optind = 0; @@ -912,11 +908,17 @@ int do_commandx(struct nft_handle *h, int argc, char *argv[], char **table, .table = *table, .restore = restore, }; - struct iptables_command_state cs; + struct iptables_command_state cs = { + .jumpto = "", + .argv = argv, + }; struct xtables_args args = { .family = h->family, }; + if (h->ops->init_cs) + h->ops->init_cs(&cs); + do_parse(h, argc, argv, &p, &cs, &args); switch (p.command) { |