henesyinit from p9fd787fda5 years agoHistory
39 lines · 712 B · C
RawDownload
#include <u.h>#include <libc.h>#include <httpd.h> /* * parse a search string of the form * tag=val&tag1=val1... */HSPairs*hparsequery(HConnect *c, char *search){	HSPairs *q;	char *tag, *val, *s; 	while((s = strchr(search, '?')) != nil)		search = s + 1;	s = search;	while((s = strchr(s, '+')) != nil)		*s++ = ' ';	q = nil;	while(*search){		tag = search;		while(*search != '='){			if(*search == '\0')				return q;			search++;		}		*search++ = 0;		val = search;		while(*search != '&'){			if(*search == '\0')				return hmkspairs(c, hurlunesc(c, tag), hurlunesc(c, val), q);			search++;		}		*search++ = '\0';		q = hmkspairs(c, hurlunesc(c, tag), hurlunesc(c, val), q);	}	return q;}