X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_object.c;h=460ba243a085e94d2e3e1e7b6d72182528804bed;hb=a3d5c57e92d773fb4bab2b5a1566bc0e8b9ce5a5;hp=75f5136c675ad6aa9ac9c5feb7b9ed362efc423b;hpb=4335ae84338de0949883027c565fb680b9461a38;p=m6w6%2Fext-http diff --git a/http_request_object.c b/http_request_object.c index 75f5136..460ba24 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -1172,13 +1172,10 @@ PHP_METHOD(HttpRequest, setQueryData) zend_update_property_string(THIS_CE, getThis(), ZEND_STRS("queryData")-1, query_data TSRMLS_CC); efree(query_data); } else { - zval *orig = qdata; + zval *data = http_zsep(IS_STRING, qdata); - convert_to_string_ex(&qdata); - zend_update_property_stringl(THIS_CE, getThis(), ZEND_STRS("queryData")-1, Z_STRVAL_P(qdata), Z_STRLEN_P(qdata) TSRMLS_CC); - if (orig != qdata) { - zval_ptr_dtor(&qdata); - } + zend_update_property_stringl(THIS_CE, getThis(), ZEND_STRS("queryData")-1, Z_STRVAL_P(data), Z_STRLEN_P(data) TSRMLS_CC); + zval_ptr_dtor(&data); } RETURN_TRUE; } @@ -1313,14 +1310,14 @@ PHP_METHOD(HttpRequest, addBody) } if (data_len) { - zval *data = zend_read_property(THIS_CE, getThis(), ZEND_STRS("rrequestBody")-1, 0 TSRMLS_CC); + zval *data = zend_read_property(THIS_CE, getThis(), ZEND_STRS("requestBody")-1, 0 TSRMLS_CC); if (Z_STRLEN_P(data)) { Z_STRVAL_P(data) = erealloc(Z_STRVAL_P(data), (Z_STRLEN_P(data) += data_len) + 1); Z_STRVAL_P(data)[Z_STRLEN_P(data)] = '\0'; memcpy(Z_STRVAL_P(data) + Z_STRLEN_P(data) - data_len, raw_data, data_len); } else { - zend_update_property_stringl(THIS_CE, getThis(), ZEND_STRS("putData")-1, raw_data, data_len TSRMLS_CC); + zend_update_property_stringl(THIS_CE, getThis(), ZEND_STRS("requestBody")-1, raw_data, data_len TSRMLS_CC); } } @@ -1583,10 +1580,9 @@ PHP_METHOD(HttpRequest, getResponseCookies) if (allowed_extras_array) { allowed_extras = ecalloc(zend_hash_num_elements(Z_ARRVAL_P(allowed_extras_array)) + 1, sizeof(char *)); FOREACH_VAL(pos, allowed_extras_array, entry) { - ZVAL_ADDREF(*entry); - convert_to_string_ex(entry); - allowed_extras[i++] = estrndup(Z_STRVAL_PP(entry), Z_STRLEN_PP(entry)); - zval_ptr_dtor(entry); + zval *data = http_zsep(IS_STRING, *entry); + allowed_extras[i++] = estrndup(Z_STRVAL_P(data), Z_STRLEN_P(data)); + zval_ptr_dtor(&data); } } @@ -1598,9 +1594,9 @@ PHP_METHOD(HttpRequest, getResponseCookies) zval **single_header; FOREACH_VAL(pos2, *header, single_header) { - ZVAL_ADDREF(*single_header); - convert_to_string_ex(single_header); - if (http_parse_cookie_ex(&list, Z_STRVAL_PP(single_header), flags, allowed_extras)) { + zval *data = http_zsep(IS_STRING, *single_header); + + if (http_parse_cookie_ex(&list, Z_STRVAL_P(data), flags, allowed_extras)) { zval *cookie; MAKE_STD_ZVAL(cookie); @@ -1609,12 +1605,11 @@ PHP_METHOD(HttpRequest, getResponseCookies) add_next_index_zval(return_value, cookie); http_cookie_list_dtor(&list); } - zval_ptr_dtor(single_header); + zval_ptr_dtor(&data); } } else { - ZVAL_ADDREF(*header); - convert_to_string_ex(header); - if (http_parse_cookie_ex(&list, Z_STRVAL_PP(header), flags, allowed_extras)) { + zval *data = http_zsep(IS_STRING, *header); + if (http_parse_cookie_ex(&list, Z_STRVAL_P(data), flags, allowed_extras)) { zval *cookie; MAKE_STD_ZVAL(cookie); @@ -1623,7 +1618,7 @@ PHP_METHOD(HttpRequest, getResponseCookies) add_next_index_zval(return_value, cookie); http_cookie_list_dtor(&list); } - zval_ptr_dtor(header); + zval_ptr_dtor(&data); } } }