rem: *nfcache |= NFC_IP6_DST_PT;
context: parse(int c, char **argv, int invert, unsigned int *flags,      const struct ip6t_entry *entry,      unsigned int *nfcache,      struct ip6t_entry_match **match){	struct ip6t_udp *udpinfo = (struct ip6t_udp *)(*match)->data;	switch (c) {	case '1':		if (*flags & UDP_SRC_PORTS)			exit_error(PARAMETER_PROBLEM,				   "Only one `--source-port' allowed");		check_inverse(optarg, &invert, &optind, 0);		parse_udp_ports(argv[optind-1], udpinfo->spts);		if (invert)			udpinfo->invflags |= IP6T_UDP_INV_SRCPT;		*flags |= UDP_SRC_PORTS;		*nfcache |= NFC_IP6_SRC_PT;		break;	case '2':		if (*flags & UDP_DST_PORTS)			exit_error(PARAMETER_PROBLEM,				   "Only one `--destination-port' allowed");		check_inverse(optarg, &invert, &optind, 0);		parse_udp_ports(argv[optind-1], udpinfo->dpts);		if (invert)			udpinfo->invflags |= IP6T_UDP_INV_DSTPT;		*flags |= UDP_DST_PORTS;		*nfcache |= NFC_IP6_DST_PT;		break;	default:		return 0;	}	return 1;}