rem: parse_hex_string(const unsigned char *s, struct ipt_string_info *info)
add: parse_hex_string(const char *s, struct ipt_string_info *info)
context: parse_hex_string(const unsigned char *s, struct ipt_string_info *info){	int i=0, slen, sindex=0, schar;	short hex_f = 0, literal_f = 0;	char hextmp[3];	slen = strlen(s);	if (slen == 0) {		exit_error(PARAMETER_PROBLEM,			"STRING must contain at least one char");	}	while (i < slen) {		if (s[i] == '\\' && !hex_f) {			literal_f = 1;		} else if (s[i] == '\\') {			exit_error(PARAMETER_PROBLEM,				"Cannot include literals in hex data");		} else if (s[i] == '|') {			if (hex_f)				hex_f = 0;			else {				hex_f = 1;				/* get past any initial whitespace just after the '|' */				while (s[i+1] == ' ')					i++;			}			if (i+1 >= slen)				break;			else				i++;  /* advance to the next character */		}		if (literal_f) {			if (i+1 >= slen) {				exit_error(PARAMETER_PROBLEM,					"Bad literal placement at end of string");			}			info->pattern[sindex] = s[i+1];			i += 2;  /* skip over literal char */			literal_f = 0;		} else if (hex_f) {			if (i+1 >= slen) {				exit_error(PARAMETER_PROBLEM,					"Odd number of hex digits");			}			if (i+2 >= slen) {				/* must end with a "|" */				exit_error(PARAMETER_PROBLEM, "Invalid hex block");			}			if (! isxdigit(s[i])) /* check for valid hex char */				exit_error(PARAMETER_PROBLEM, "Invalid hex char `%c'", s[i]);			if (! isxdigit(s[i+1])) /* check for valid hex char */				exit_error(PARAMETER_PROBLEM, "Invalid hex char `%c'", s[i+1]);			hextmp[0] = s[i];			hextmp[1] = s[i+1];			hextmp[2] = '\0';			if (! sscanf(hextmp, "%x", &schar))				exit_error(PARAMETER_PROBLEM,					"Invalid hex char `%c'", s[i]);			info->pattern[sindex] = (char) schar;			if (s[i+2] == ' ')				i += 3;  /* spaces included in the hex block */			else				i += 2;		} else {  /* the char is not part of hex data, so just copy */			info->pattern[sindex] = s[i];			i++;		}		if (sindex > IPT_STRING_MAX_PATTERN_SIZE)			exit_error(PARAMETER_PROBLEM, "STRING too long `%s'", s);		sindex++;	}	info->patlen = sindex;}