- warning hunt
[m6w6/ext-http] / http_functions.c
index 01df1a16231170a01f5b3083c67df62c60832e8a..8e27b767ab08d11ae123b9aa074120c5ec83c6c6 100644 (file)
@@ -460,7 +460,7 @@ PHP_FUNCTION(http_redirect)
        size_t query_len = 0;
        zend_bool session = 0, permanent = 0;
        zval *params = NULL;
-       char *query, *url, *URI,
+       char *query = NULL, *url = NULL, *URI,
                LOC[HTTP_URI_MAXLEN + sizeof("Location: ")],
                RED[HTTP_URI_MAXLEN * 2 + sizeof("Redirecting to <a href=\"%s?%s\">%s?%s</a>.\n")];
 
@@ -606,26 +606,26 @@ PHP_FUNCTION(http_chunked_decode)
  */
 PHP_FUNCTION(http_split_response)
 {
-       zval *zresponse, *zbody, *zheaders;
+       char *response, *body;
+       int response_len;
+       size_t body_len;
+       zval *zheaders;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zresponse) != SUCCESS) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &response, &response_len) != SUCCESS) {
                RETURN_FALSE;
        }
 
-       convert_to_string(zresponse);
-
-       MAKE_STD_ZVAL(zbody);
        MAKE_STD_ZVAL(zheaders);
        array_init(zheaders);
 
-       if (SUCCESS != http_split_response(Z_STRVAL_P(zresponse), Z_STRLEN_P(zresponse), Z_ARRVAL_P(zheaders), &Z_STRVAL_P(zbody), &Z_STRLEN_P(zbody))) {
+       if (SUCCESS != http_split_response(response, response_len, Z_ARRVAL_P(zheaders), &body, &body_len)) {
                http_error(E_WARNING, HTTP_E_PARSE, "Could not parse HTTP response");
                RETURN_FALSE;
        }
 
        array_init(return_value);
        add_index_zval(return_value, 0, zheaders);
-       add_index_zval(return_value, 1, zbody);
+       add_index_stringl(return_value, 1, body, body_len, 0);
 }
 /* }}} */