static int urlword_dlm[] = {'&', ';', 0}; static char *my_urlword(pool *p, const char **line) { char *res = NULL; const char *pos = *line; char ch; while ( (ch = *pos) != '\0' && ch != ';' && ch != '&') { ++pos; } res = ap_pstrndup(p, *line, pos - *line); while (ch == ';' || ch == '&') { ++pos; ch = *pos; } *line = pos; return res; } #### static int urlword_dlm[] = {'&', ';', NULL}; static char *my_urlword(pool *p, const char **line) { int i; for (i = 0; urlword_dlm[i]; i++) { int stop = urlword_dlm[i]; char *pos = strchr(*line, stop); char *res; if (!pos) { if (!urlword_dlm[i+1]) { // etc ...