From: Felix Fietkau Date: Tue, 1 Jan 2013 20:46:12 +0000 (+0100) Subject: add uh_split_header() X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuhttpd.git;a=commitdiff_plain;h=e4f960ca74af4a89743bb5266423b13e3d1b6235 add uh_split_header() --- diff --git a/client.c b/client.c index e507995..6e75c5b 100644 --- a/client.c +++ b/client.c @@ -188,16 +188,10 @@ static int client_parse_header(struct client *cl, char *data) return CLIENT_STATE_DATA; } - val = strchr(data, ':'); + val = uh_split_header(data); if (!val) return CLIENT_STATE_DONE; - *val = 0; - val++; - - while (isspace(*val)) - val++; - for (name = data; *name; name++) if (isupper(*name)) *name = tolower(*name); diff --git a/utils.c b/utils.c index 477296f..e3de061 100644 --- a/utils.c +++ b/utils.c @@ -199,3 +199,20 @@ bool uh_path_match(const char *prefix, const char *url) return url[len] == '/' || url[len] == 0; } + +char *uh_split_header(char *str) +{ + char *val; + + val = strchr(str, ':'); + if (!val) + return NULL; + + *val = 0; + val++; + + while (isspace(*val)) + val++; + + return val; +} diff --git a/utils.h b/utils.h index 07db0cf..0f75de4 100644 --- a/utils.h +++ b/utils.h @@ -56,5 +56,6 @@ int uh_urldecode(char *buf, int blen, const char *src, int slen); int uh_urlencode(char *buf, int blen, const char *src, int slen); int uh_b64decode(char *buf, int blen, const unsigned char *src, int slen); bool uh_path_match(const char *prefix, const char *url); +char *uh_split_header(char *str); #endif