diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2009-06-12 20:48:52 +0200 |
---|---|---|
committer | Jan Engelhardt <jengelh@medozas.de> | 2009-06-26 21:13:10 +0200 |
commit | f89c1716a7743ca6e2e6164d3b64c15b2e285e1e (patch) | |
tree | caaa6a6d656085690a71b791108c6a78365fe8dd /xshared.c | |
parent | 92edcb0cf517ddb7976e396eabc7a79f8a1016ba (diff) |
iptables: allow for help-less extensions
This is for extensions that do not take any options, and which
subsequently do not offer any help text either.
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'xshared.c')
-rw-r--r-- | xshared.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/xshared.c b/xshared.c new file mode 100644 index 00000000..21b5b2cb --- /dev/null +++ b/xshared.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <xtables.h> +#include "xshared.h" + +/* + * Print out any special helps. A user might like to be able to add a --help + * to the commandline, and see expected results. So we call help for all + * specified matches and targets. + */ +void print_extension_helps(const struct xtables_target *t, + const struct xtables_rule_match *m) +{ + for (; t != NULL; t = t->next) { + if (t->used) { + printf("\n"); + if (t->help == NULL) + printf("%s does not take any options\n", + t->name); + else + t->help(); + } + } + for (; m != NULL; m = m->next) { + printf("\n"); + if (m->match->help == NULL) + printf("%s does not take any options\n", + m->match->name); + else + m->match->help(); + } +} |