-+ return ports_match(multiinfo->ports,
-+ multiinfo->flags, multiinfo->count,
-+ ntohs(pptr[0]), ntohs(pptr[1]));
-+}
-+
-+static int
-+match_v1(const struct sk_buff *skb,
-+ const struct net_device *in,
-+ const struct net_device *out,
-+ const void *matchinfo,
-+ int offset,
-+ int *hotdrop)
-+{
-+ u16 _ports[2], *pptr;
-+ const struct ipt_multiport_v1 *multiinfo = matchinfo;
-+
-+ if (offset)
-+ return 0;
-+
-+ pptr = skb_header_pointer(skb, skb->nh.iph->ihl * 4,
-+ sizeof(_ports), _ports);
-+ if (pptr == NULL) {
-+ /* We've been asked to examine this packet, and we
-+ * can't. Hence, no choice but to drop.
-+ */
-+ duprintf("ipt_multiport:"
-+ " Dropping evil offset=0 tinygram.\n");
-+ *hotdrop = 1;
-+ return 0;
-+ }
-+