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_log_info *loginfo = (struct ipt_log_info *)(*target)->data;	switch (c) {	case '!':		if (*flags & IPT_LOG_OPT_LEVEL)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --log-level twice");		if (check_inverse(optarg, &invert))			exit_error(PARAMETER_PROBLEM,				   "Unexpected `!' after --log-level");		loginfo->level = parse_level(optarg);		*flags |= IPT_LOG_OPT_LEVEL;		break;	case '#':		if (*flags & IPT_LOG_OPT_PREFIX)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --log-prefix twice");		if (check_inverse(optarg, &invert))			exit_error(PARAMETER_PROBLEM,				   "Unexpected `!' after --log-prefix");		if (strlen(optarg) > sizeof(loginfo->prefix) - 1)			exit_error(PARAMETER_PROBLEM,				   "Maximum prefix length %u for --log-prefix",				   sizeof(loginfo->prefix) - 1);		strcpy(loginfo->prefix, optarg);		*flags |= IPT_LOG_OPT_PREFIX;		break;	case '1':		if (*flags & IPT_LOG_OPT_TCPSEQ)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --log-tcp-sequence "				   "twice");		loginfo->logflags |= IPT_LOG_TCPSEQ;		*flags |= IPT_LOG_OPT_TCPSEQ;		break;	case '2':		if (*flags & IPT_LOG_OPT_TCPOPT)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --log-tcp-options twice");		loginfo->logflags |= IPT_LOG_TCPOPT;		*flags |= IPT_LOG_OPT_TCPOPT;		break;	case '3':		if (*flags & IPT_LOG_OPT_IPOPT)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --log-ip-options twice");		loginfo->logflags |= IPT_LOG_IPOPT;		*flags |= IPT_LOG_OPT_IPOPT;		break;	default:		return 0;	}	return 1;}