add uh_split_header()
authorFelix Fietkau <nbd@openwrt.org>
Tue, 1 Jan 2013 20:46:12 +0000 (21:46 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 1 Jan 2013 20:46:39 +0000 (21:46 +0100)
client.c
utils.c
utils.h

index e507995..6e75c5b 100644 (file)
--- a/client.c
+++ b/client.c
@@ -188,16 +188,10 @@ static int client_parse_header(struct client *cl, char *data)
                return CLIENT_STATE_DATA;
        }
 
                return CLIENT_STATE_DATA;
        }
 
-       val = strchr(data, ':');
+       val = uh_split_header(data);
        if (!val)
                return CLIENT_STATE_DONE;
 
        if (!val)
                return CLIENT_STATE_DONE;
 
-       *val = 0;
-       val++;
-
-       while (isspace(*val))
-               val++;
-
        for (name = data; *name; name++)
                if (isupper(*name))
                        *name = tolower(*name);
        for (name = data; *name; name++)
                if (isupper(*name))
                        *name = tolower(*name);
diff --git a/utils.c b/utils.c
index 477296f..e3de061 100644 (file)
--- 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;
 }
 
        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 (file)
--- 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);
 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
 
 #endif