rem: if (check_inverse(optarg, &invert))
add: if (check_inverse(optarg, &invert, NULL, 0))
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_rateinfo *r = (struct ip6t_rateinfo *)(*match)->data;	unsigned int num;	switch(c) {	case '%':		if (check_inverse(optarg, &invert))			exit_error(PARAMETER_PROBLEM,				   "Unexpected `!' after --limit");		if (!parse_rate(optarg, &r->avg))			exit_error(PARAMETER_PROBLEM,				   "bad rate `%s'", optarg);		break;	case '$':		if (check_inverse(optarg, &invert))			exit_error(PARAMETER_PROBLEM,				   "Unexpected `!' after --limit-burst");		if (string_to_number(optarg, 0, 10000, &num) == -1)			exit_error(PARAMETER_PROBLEM,				   "bad --limit-burst `%s'", optarg);		r->burst = num;		break;	default:		return 0;	}	return 1;}