--- HttpHeaderTools.c.orig  2008-11-07 17:00:20.000000000 -0500
+++ HttpHeaderTools.c   2008-11-07 17:52:14.000000000 -0500
@@ -246,6 +246,7 @@
    " ?,\t\r\n"
     };
     int quoted = 0;
+
     delim[0][1] = del;
     delim[2][1] = del;
     assert(str && item && pos);
@@ -258,6 +259,7 @@
     *pos += strspn(*pos, delim[2]);
 
     *item = *pos;      /* remember item's start */
+    
     /* find next delimiter */
     do {
    *pos += strcspn(*pos, delim[quoted]);
@@ -265,13 +267,15 @@
        break;
    if (**pos == '"') {
        quoted = !quoted;
-       *pos += 1;
+       goto advance;
    }
    if (quoted && **pos == '\\') {
        *pos += 1;
-       if (**pos)
-       *pos += 1;
+       goto advance;
    }
+    advance:
+   if (**pos)
+     (*pos)++;
     } while (**pos);
     len = *pos - *item;        /* *pos points to del or '\0' */
     /* rtrim */