netfilter: xtables: remove some goto
Jan Engelhardt [Wed, 15 Apr 2009 19:31:32 +0000 (21:31 +0200)]
Combining two ifs, and goto is easily gone.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>

net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c

index 82888bc..cfcb7af 100644 (file)
@@ -359,15 +359,12 @@ ipt_do_table(struct sk_buff *skb,
                IP_NF_ASSERT(e);
                IP_NF_ASSERT(back);
                if (!ip_packet_match(ip, indev, outdev,
-                   &e->ip, mtpar.fragoff)) {
- no_match:
+                   &e->ip, mtpar.fragoff) ||
+                   IPT_MATCH_ITERATE(e, do_match, skb, &mtpar) != 0) {
                        e = ipt_next_entry(e);
                        continue;
                }
 
-               if (IPT_MATCH_ITERATE(e, do_match, skb, &mtpar) != 0)
-                       goto no_match;
-
                ADD_COUNTER(e->counters, ntohs(ip->tot_len), 1);
 
                t = ipt_get_target(e);
index a6c2213..d01b8a3 100644 (file)
@@ -386,15 +386,12 @@ ip6t_do_table(struct sk_buff *skb,
                IP_NF_ASSERT(e);
                IP_NF_ASSERT(back);
                if (!ip6_packet_match(skb, indev, outdev, &e->ipv6,
-                   &mtpar.thoff, &mtpar.fragoff, &hotdrop)) {
- no_match:
+                   &mtpar.thoff, &mtpar.fragoff, &hotdrop) ||
+                   IP6T_MATCH_ITERATE(e, do_match, skb, &mtpar) != 0) {
                        e = ip6t_next_entry(e);
                        continue;
                }
 
-               if (IP6T_MATCH_ITERATE(e, do_match, skb, &mtpar) != 0)
-                       goto no_match;
-
                ADD_COUNTER(e->counters,
                            ntohs(ipv6_hdr(skb)->payload_len) +
                            sizeof(struct ipv6hdr), 1);