From 92edcb0cf517ddb7976e396eabc7a79f8a1016ba Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 12 Jun 2009 20:35:42 +0200 Subject: iptables: allow for parse-less extensions This means we can do some code removal in extensions. Signed-off-by: Jan Engelhardt --- ip6tables.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'ip6tables.c') diff --git a/ip6tables.c b/ip6tables.c index 31c4b451..71ff46f5 100644 --- a/ip6tables.c +++ b/ip6tables.c @@ -1699,13 +1699,14 @@ int do_command6(int argc, char *argv[], char **table, struct ip6tc_handle **hand exit_tryhelp(2); default: - if (!target - || !(target->parse(c - target->option_offset, + if (target == NULL || target->parse == NULL || + !target->parse(c - target->option_offset, argv, invert, &target->tflags, - &fw, &target->t))) { + &fw, &target->t)) { for (matchp = matches; matchp; matchp = matchp->next) { - if (matchp->completed) + if (matchp->completed || + matchp->match->parse == NULL) continue; if (matchp->match->parse(c - matchp->match->option_offset, argv, invert, -- cgit v1.2.3