Add new function nmem_strsplitx.
[yaz-moved-to-github.git] / src / http.c
index 4362c75..3f8fb53 100644 (file)
@@ -1,14 +1,15 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) 1995-2011 Index Data
  * See the file LICENSE for details.
  */
-
 /**
  * \file http.c
  * \brief Implements HTTP decoding
  */
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 
-#include <ctype.h>
 #include <yaz/odr.h>
 #include <yaz/yaz-version.h>
 #include <yaz/yaz-iconv.h>
@@ -141,13 +142,13 @@ static int decode_headers_content(ODR o, int off, Z_HTTP_Header **headers,
             /* chunk length .. */
             int chunk_len = 0;
             for (; i  < o->size-2; i++)
-                if (isdigit(o->buf[i]))
+                if (yaz_isdigit(o->buf[i]))
                     chunk_len = chunk_len * 16 + 
                         (o->buf[i] - '0');
-                else if (isupper(o->buf[i]))
+                else if (yaz_isupper(o->buf[i]))
                     chunk_len = chunk_len * 16 + 
                         (o->buf[i] - ('A'-10));
-                else if (islower(o->buf[i]))
+                else if (yaz_islower(o->buf[i]))
                     chunk_len = chunk_len * 16 + 
                         (o->buf[i] - ('a'-10));
                 else
@@ -231,6 +232,8 @@ void z_HTTP_header_add_basic_auth(ODR o, Z_HTTP_Header **hp,
 
     if (username == 0)
         return;
+    if (password == 0)
+        password = "";
 
     len = strlen(username) + strlen(password);
     tmp = (char *) odr_malloc(o, len+2);