Content-type: text/html
int strcasematch(char *s, char **m)
char *strlower(char *s)
char *strupper(char *s)
char *strnprefix(char *s, char *pf, int len, char *sep)
char *strnsuffix(char *s, char *sf, int len, char *sep)
char **str2ary(char *str, char *delims)
char **xstr2ary(char *str, char *delims, char *quotes, char *escapes)
char *ary2str(char **ary, char *delim)
char *ary2xstr(char **ary, char *delims, char *quotes, char *escapes)
NOTE: The array of match strings must be terminated by a NULL pointer or the functions will overrun the end of the array.
The strlower and strupper routines convert strings to upper or lower case in place. Both routines return a pointer to the converted string.
The strnprefix and strnsuffix routes will extract a leading or trailing portion of a string set off from the rest of the string by one of a set of separation characters.
The str2ary, xstr2ary, ary2str, and ary2xstr routines will convert between a delimited string and an array of strings. The xstr allow the component strings to be enclosed in user defined quote characters and with user defined escape characters.
The quotes parameter in xstr2ary and ary2xstr must be formatted as pairs of quote characters. The first element of the pair opens a quoted string, the second closes the string. This means that if you want to use quotes that don't have different opening and closing forms then you must have a pair of the same character in the quotes string.