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 ipt_entry *entry,      struct ipt_entry_target **target){	struct ipt_same_info *mr		= (struct ipt_same_info *)(*target)->data;	switch (c) {	case '1':		if (mr->rangesize == IPT_SAME_MAX_RANGE)			exit_error(PARAMETER_PROBLEM,				   "Too many ranges specified, maximum "				   "is %i ranges.\n",				   IPT_SAME_MAX_RANGE);		if (check_inverse(optarg, &invert))			exit_error(PARAMETER_PROBLEM,				   "Unexpected `!' after --to");		parse_to(optarg, &mr->range[mr->rangesize]);		mr->rangesize++;		*flags |= IPT_SAME_OPT_TO;		break;			case '2':		if (*flags & IPT_SAME_OPT_NODST)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --nodst twice");				mr->info |= IPT_SAME_NODST;		*flags |= IPT_SAME_OPT_NODST;		break;			default:		return 0;	}		return 1;}