change uh_b64decode to take a void pointer to avoid redundant signed/unsigned casts
[project/uhttpd.git] / utils.c
diff --git a/utils.c b/utils.c
index 477296f..d2ad296 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -147,16 +147,17 @@ int uh_urlencode(char *buf, int blen, const char *src, int slen)
        return (i == slen) ? len : -1;
 }
 
-int uh_b64decode(char *buf, int blen, const unsigned char *src, int slen)
+int uh_b64decode(char *buf, int blen, const void *src, int slen)
 {
+       const unsigned char *str = src;
        unsigned int cout = 0;
        unsigned int cin  = 0;
        int len = 0;
        int i = 0;
 
-       for (i = 0; (i <= slen) && (src[i] != 0); i++)
+       for (i = 0; (i <= slen) && (str[i] != 0); i++)
        {
-               cin = src[i];
+               cin = str[i];
 
                if ((cin >= '0') && (cin <= '9'))
                        cin = cin - '0' + 52;
@@ -199,3 +200,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;
+}