?? ??? 2009, PHP 5.2.11
- Fixed regression in cURL extension that prevented flush of data to output
defined as a file handle. (Ilia)
-- Fixed memory leak in stream_is_local(). (Felipe)
+- Fixed memory leak in stream_is_local(). (Felipe, Tony)
- Fixed bug #49132 (posix_times returns false without error).
(phpbugs at gunnu dot us)
*/
PHP_FUNCTION(stream_is_local)
{
- zval *zstream;
+ zval **zstream;
php_stream *stream = NULL;
php_stream_wrapper *wrapper = NULL;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zstream) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &zstream) == FAILURE) {
RETURN_FALSE;
}
- if(Z_TYPE_P(zstream) == IS_RESOURCE) {
- php_stream_from_zval(stream, &zstream);
+ if(Z_TYPE_PP(zstream) == IS_RESOURCE) {
+ php_stream_from_zval(stream, zstream);
if(stream == NULL) {
RETURN_FALSE;
}
wrapper = stream->wrapper;
} else {
- zval *copy_tmp;
-
- ALLOC_ZVAL(copy_tmp);
- *copy_tmp = *zstream;
- zval_copy_ctor(copy_tmp);
- INIT_PZVAL(copy_tmp);
- convert_to_string(copy_tmp);
-
- wrapper = php_stream_locate_url_wrapper(Z_STRVAL_P(copy_tmp), NULL, 0 TSRMLS_CC);
+ convert_to_string_ex(zstream);
- zval_ptr_dtor(©_tmp);
+ wrapper = php_stream_locate_url_wrapper(Z_STRVAL_PP(zstream), NULL, 0 TSRMLS_CC);
}
if(!wrapper) {