X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_client_response.c;h=b1377fe64c7b3d49aed4604c992501de9b4026c3;hp=b8efb8b6a63dd2faf093aab606b4e5427e0ccada;hb=8840a33028d28fa4f351b08b7502c1642c758af5;hpb=16ecea28f2bbcf20d69dedc6611a959923720656 diff --git a/php_http_client_response.c b/php_http_client_response.c index b8efb8b..b1377fe 100644 --- a/php_http_client_response.c +++ b/php_http_client_response.c @@ -91,11 +91,11 @@ static PHP_METHOD(HttpClientResponse, getTransferInfo) { char *info_name = NULL; size_t info_len = 0; - zval *info; + zval info_tmp, info_name_tmp, *info; php_http_expect(SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &info_name, &info_len), invalid_arg, return); - info = zend_read_property(php_http_client_response_class_entry, getThis(), ZEND_STRL("transferInfo"), 0); + info = zend_read_property(php_http_client_response_class_entry, getThis(), ZEND_STRL("transferInfo"), 0, &info_tmp); /* request completed? */ if (Z_TYPE_P(info) != IS_OBJECT) { @@ -104,7 +104,7 @@ static PHP_METHOD(HttpClientResponse, getTransferInfo) } if (info_len && info_name) { - info = zend_read_property(NULL, info, php_http_pretty_key(info_name, info_len, 0, 0), info_len, 0); + info = zend_read_property(NULL, info, php_http_pretty_key(info_name, info_len, 0, 0), info_len, 0, &info_name_tmp); if (!info) { php_http_throw(unexpected_val, "Could not find transfer info with name '%s'", info_name); @@ -112,7 +112,7 @@ static PHP_METHOD(HttpClientResponse, getTransferInfo) } } - RETURN_ZVAL_FAST(info); + RETURN_ZVAL(info, 1, 0); } static zend_function_entry php_http_client_response_methods[] = {