- print doesn't like commas
[m6w6/ext-http] / http_message_api.c
index e399ed666a6e51a4c77bc41ae9f42151c72ea2ad..15fa449eb21eef2e2453152da7cacf163d58c68b 100644 (file)
@@ -138,7 +138,7 @@ PHP_HTTP_API http_message *_http_message_parse_ex(http_message *msg, const char
 
        msg = http_message_init(msg);
 
-       if (SUCCESS != http_parse_headers_cb(message, &msg->hdrs, 1, (http_info_callback) http_message_info_callback, &msg)) {
+       if (SUCCESS != http_parse_headers_cb(message, &msg->hdrs, 1, (http_info_callback) http_message_info_callback, (void **) &msg)) {
                if (free_msg) {
                        http_message_free(&msg);
                }
@@ -150,13 +150,6 @@ PHP_HTTP_API http_message *_http_message_parse_ex(http_message *msg, const char
                zval *c;
                const char *continue_at = NULL;
 
-               /* message has content-length header */
-               if (c = http_message_header(msg, "Content-Length")) {
-                       long len = atol(Z_STRVAL_P(c));
-                       phpstr_from_string_ex(PHPSTR(msg), body, len);
-                       continue_at = body + len;
-               } else
-
                /* message has chunked transfer encoding */
                if (c = http_message_header(msg, "Transfer-Encoding")) {
                        if (!strcasecmp("chunked", Z_STRVAL_P(c))) {
@@ -182,6 +175,13 @@ PHP_HTTP_API http_message *_http_message_parse_ex(http_message *msg, const char
                        }
                } else
 
+               /* message has content-length header */
+               if (c = http_message_header(msg, "Content-Length")) {
+                       long len = atol(Z_STRVAL_P(c));
+                       phpstr_from_string_ex(PHPSTR(msg), body, len);
+                       continue_at = body + len;
+               } else
+
                /* message has content-range header */
                if (c = http_message_header(msg, "Content-Range")) {
                        ulong start = 0, end = 0;