From fe83b12fc910e43e4f22a25b56210b0dd0afc3ee Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 27 Sep 2021 16:59:49 +0200 Subject: libxtables: Introduce xtables_globals print_help callback With optstring being stored in struct xtables_globals as well, it is a natural choice to store a pointer to a help printer also which matches the supported options. Signed-off-by: Phil Sutter --- iptables/xtables-arp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'iptables/xtables-arp.c') diff --git a/iptables/xtables-arp.c b/iptables/xtables-arp.c index a028ac34..2e4bb3f2 100644 --- a/iptables/xtables-arp.c +++ b/iptables/xtables-arp.c @@ -97,6 +97,7 @@ static struct option original_opts[] = { #define opts xt_params->opts extern void xtables_exit_error(enum xtables_exittype status, const char *msg, ...) __attribute__((noreturn, format(printf,2,3))); +static void printhelp(const struct xtables_rule_match *m); struct xtables_globals arptables_globals = { .option_offset = 0, .program_version = PACKAGE_VERSION, @@ -104,6 +105,7 @@ struct xtables_globals arptables_globals = { .orig_opts = original_opts, .exit_err = xtables_exit_error, .compat_rev = nft_compatible_revision, + .print_help = printhelp, }; /***********************************************/ @@ -164,7 +166,7 @@ exit_tryhelp(int status) } static void -printhelp(void) +printhelp(const struct xtables_rule_match *m) { struct xtables_target *t = NULL; int i; @@ -563,7 +565,7 @@ int do_commandarp(struct nft_handle *h, int argc, char *argv[], char **table, if (!optarg) optarg = argv[optind]; - printhelp(); + xt_params->print_help(NULL); command = CMD_NONE; break; case 's': -- cgit v1.2.3