summaryrefslogtreecommitdiffstats
path: root/ip6tables.c
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2011-02-07 03:45:26 +0100
committerJan Engelhardt <jengelh@medozas.de>2011-02-07 04:09:27 +0100
commit58b491f8cb5b4a0315037d0e1f61f8162a556e8a (patch)
tree05d6ccf56011d087fd36b12a43f63671f81efd83 /ip6tables.c
parent17e310b2610448605567644f667c79f41d76f51e (diff)
iptables: fix error message for unknown options
-From: iptables v1.4.10: option "-q" requires an argument +To: iptables v1.4.10: unknown option "-q" Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'ip6tables.c')
-rw-r--r--ip6tables.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/ip6tables.c b/ip6tables.c
index 5a550bfb..5561a7d5 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -1290,15 +1290,12 @@ static void command_default(struct iptables_command_state *cs)
return;
}
- if (cs->c == '?') {
- if (optopt)
- xtables_error(PARAMETER_PROBLEM,
- "option \"%s\" requires an argument",
- cs->argv[optind-1]);
- else
- xtables_error(PARAMETER_PROBLEM,
- "unknown option \"%s\"", cs->argv[optind-1]);
- }
+ if (cs->c == ':')
+ xtables_error(PARAMETER_PROBLEM, "option \"%s\" "
+ "requires an argument", cs->argv[optind-1]);
+ if (cs->c == '?')
+ xtables_error(PARAMETER_PROBLEM, "unknown option "
+ "\"%s\"", cs->argv[optind-1]);
xtables_error(PARAMETER_PROBLEM, "Unknown arg \"%s\"", optarg);
}
@@ -1396,7 +1393,7 @@ int do_command6(int argc, char *argv[], char **table, struct ip6tc_handle **hand
opts = xt_params->orig_opts;
while ((cs.c = getopt_long(argc, argv,
- "-A:D:R:I:L::S::M:F::Z::N:X::E:P:Vh::o:p:s:d:j:i:bvnt:m:xc:g:",
+ "-:A:D:R:I:L::S::M:F::Z::N:X::E:P:Vh::o:p:s:d:j:i:bvnt:m:xc:g:",
opts, NULL)) != -1) {
switch (cs.c) {
/*