add: check_inverse(optarg, &invert, &optind, 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 condition6_info *info =	    (struct condition6_info *) (*match)->data;	check_inverse(optarg, &invert, &optind, 0);	if (c == 'X') {		if (*flags)			exit_error(PARAMETER_PROBLEM,				   "Can't specify multiple conditions");		if (strlen(argv[optind - 1]) < CONDITION6_NAME_LEN)			strcpy(info->name, argv[optind - 1]);		else			exit_error(PARAMETER_PROBLEM,				   "File name too long");		info->invert = invert;		*flags = 1;		return 1;	}	return 0;}