summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Josefsson <gandalf@wlug.westbo.se>2004-05-26 15:41:54 +0000
committerMartin Josefsson <gandalf@wlug.westbo.se>2004-05-26 15:41:54 +0000
commit66aea6f49c1ae231917d537269b2f21e9903c374 (patch)
tree36ea5d3e697a0b7a15540532d49ac71406b5abe6
parent4dd5fedadee415a646bc0e70d0b17668897ede63 (diff)
When compiled static, don't show help-messages for all matches and targets,
only show help for specified ones.
-rw-r--r--ip6tables.c24
-rw-r--r--iptables.c24
2 files changed, 26 insertions, 22 deletions
diff --git a/ip6tables.c b/ip6tables.c
index b2816bad..ee42c087 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -292,9 +292,9 @@ exit_tryhelp(int status)
}
void
-exit_printhelp(void)
+exit_printhelp(struct ip6tables_rule_match *matches)
{
- struct ip6tables_match *m = NULL;
+ struct ip6tables_rule_match *matchp = NULL;
struct ip6tables_target *t = NULL;
printf("%s v%s\n\n"
@@ -359,14 +359,16 @@ exit_printhelp(void)
/* 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
- matches & targets */
- for (t=ip6tables_targets;t;t=t->next) {
- printf("\n");
- t->help();
+ specified matches & targets */
+ for (t = ip6tables_targets; t; t = t->next) {
+ if (t->used) {
+ printf("\n");
+ t->help();
+ }
}
- for (m=ip6tables_matches;m;m=m->next) {
+ for (matchp = matches; matchp; matchp = matchp->next) {
printf("\n");
- m->help();
+ matchp->match->help();
}
exit(0);
}
@@ -1839,10 +1841,10 @@ int do_command6(int argc, char *argv[], char **table, ip6tc_handle_t *handle)
optarg = argv[optind];
/* iptables -p icmp -h */
- if (!ip6tables_matches && protocol)
- find_match(protocol, TRY_LOAD, NULL);
+ if (!matches && protocol)
+ find_match(protocol, TRY_LOAD, &matches);
- exit_printhelp();
+ exit_printhelp(matches);
/*
* Option selection
diff --git a/iptables.c b/iptables.c
index bec912f4..648f988f 100644
--- a/iptables.c
+++ b/iptables.c
@@ -346,9 +346,9 @@ exit_tryhelp(int status)
}
void
-exit_printhelp(void)
+exit_printhelp(struct iptables_rule_match *matches)
{
- struct iptables_match *m = NULL;
+ struct iptables_rule_match *matchp = NULL;
struct iptables_target *t = NULL;
printf("%s v%s\n\n"
@@ -413,14 +413,16 @@ exit_printhelp(void)
/* 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 matches & targets */
- for (t=iptables_targets;t;t=t->next) {
- printf("\n");
- t->help();
+ results. So we call help for all specified matches & targets */
+ for (t = iptables_targets; t ;t = t->next) {
+ if (t->used) {
+ printf("\n");
+ t->help();
+ }
}
- for (m=iptables_matches;m;m=m->next) {
+ for (matchp = matches; matchp; matchp = matchp->next) {
printf("\n");
- m->help();
+ matchp->match->help();
}
exit(0);
}
@@ -1836,10 +1838,10 @@ int do_command(int argc, char *argv[], char **table, iptc_handle_t *handle)
optarg = argv[optind];
/* iptables -p icmp -h */
- if (!iptables_matches && protocol)
- find_match(protocol, TRY_LOAD, NULL);
+ if (!matches && protocol)
+ find_match(protocol, TRY_LOAD, &matches);
- exit_printhelp();
+ exit_printhelp(matches);
/*
* Option selection