svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/standard/streamsfuncs.c branches/PHP_5_3/NEWS
branches/PHP_5_3/ext/standard/streamsfuncs.c trunk/ext/standard/streamsfuncs.c
| From: | Felipe Pena | Date: | Mon, 03 Aug 2009 13:26:15 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/standard/streamsfuncs.c branches/PHP_5_3/NEWS branches/PHP_5_3/ext/standard/streamsfuncs.c trunk/ext/standard/streamsfuncs.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-59993@lists.php.net to get a copy of this message | ||
felipe Mon, 03 Aug 2009 13:26:15 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=286736
Log:
- Improved. No ugly copy. (Tony)
Changed paths:
U php/php-src/branches/PHP_5_2/NEWS
U php/php-src/branches/PHP_5_2/ext/standard/streamsfuncs.c
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c
U php/php-src/trunk/ext/standard/streamsfuncs.c
Modified: php/php-src/branches/PHP_5_2/NEWS
===================================================================
--- php/php-src/branches/PHP_5_2/NEWS 2009-08-03 13:24:35 UTC (rev 286735)
+++ php/php-src/branches/PHP_5_2/NEWS 2009-08-03 13:26:15 UTC (rev 286736)
@@ -3,7 +3,7 @@
?? ??? 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)
Modified: php/php-src/branches/PHP_5_2/ext/standard/streamsfuncs.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/standard/streamsfuncs.c 2009-08-03 13:24:35 UTC (rev 286735)
+++ php/php-src/branches/PHP_5_2/ext/standard/streamsfuncs.c 2009-08-03 13:26:15 UTC (rev 286736)
@@ -1382,32 +1382,24 @@
*/
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;
+ convert_to_string_ex(zstream);
- 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);
-
- zval_ptr_dtor(©_tmp);
+ wrapper = php_stream_locate_url_wrapper(Z_STRVAL_PP(zstream), NULL, 0 TSRMLS_CC);
}
if(!wrapper) {
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2009-08-03 13:24:35 UTC (rev 286735)
+++ php/php-src/branches/PHP_5_3/NEWS 2009-08-03 13:26:15 UTC (rev 286736)
@@ -6,7 +6,7 @@
- Fixed open_basedir circumvention for mail.log. (Maksymilian Arciemowicz,
Stas)
- Fixed signature generation/validation for zip archives in ext/phar. (Greg)
-- 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)
Modified: php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c 2009-08-03 13:24:35 UTC (rev 286735)
+++ php/php-src/branches/PHP_5_3/ext/standard/streamsfuncs.c 2009-08-03 13:26:15 UTC (rev 286736)
@@ -1448,32 +1448,24 @@
*/
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;
+ convert_to_string_ex(zstream);
- 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);
-
- zval_ptr_dtor(©_tmp);
+ wrapper = php_stream_locate_url_wrapper(Z_STRVAL_PP(zstream), NULL, 0 TSRMLS_CC);
}
if(!wrapper) {
Modified: php/php-src/trunk/ext/standard/streamsfuncs.c
===================================================================
--- php/php-src/trunk/ext/standard/streamsfuncs.c 2009-08-03 13:24:35 UTC (rev 286735)
+++ php/php-src/trunk/ext/standard/streamsfuncs.c 2009-08-03 13:26:15 UTC (rev 286736)
@@ -1735,32 +1735,24 @@
*/
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;
+ convert_to_string_ex(zstream);
- 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);
-
- zval_ptr_dtor(©_tmp);
+ wrapper = php_stream_locate_url_wrapper(Z_STRVAL_PP(zstream), NULL, 0 TSRMLS_CC);
}
if(!wrapper) {