cvs: Zend(PHP_4_4) / zend_compile.c zend_execute.c php-src NEWS

From: Date: Mon, 15 Aug 2005 10:47:25 +0000
Subject: cvs: Zend(PHP_4_4) / zend_compile.c zend_execute.c php-src NEWS
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-4012@lists.php.net to get a copy of this message
derick Mon Aug 15 06:47:25 2005 EDT Modified files: (Branch: PHP_4_4) /php-src NEWS /Zend zend_compile.c zend_execute.c Log: - MFH: Fixed bug #33558 (Warning with nested calls to functions returning by reference). http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.920.2.24&r2=1.1247.2.920.2.25&ty=u Index: php-src/NEWS diff -u php-src/NEWS:1.1247.2.920.2.24 php-src/NEWS:1.1247.2.920.2.25 --- php-src/NEWS:1.1247.2.920.2.24 Wed Aug 10 18:39:10 2005 +++ php-src/NEWS Mon Aug 15 06:47:17 2005 @@ -11,6 +11,8 @@ - Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus) - Fixed bug #33673 (Added detection for partially uploaded files). (Ilia) - Fixed bug #33648 (Using --with-regex=system causes compile failure). (Andrei) +- Fixed bug #33558 (Warning with nested calls to functions returning by + reference). (Dmitry, Derick) - Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). (Nuno) - Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia) http://cvs.php.net/diff.php/Zend/zend_compile.c?r1=1.240.2.10.2.3&r2=1.240.2.10.2.4&ty=u Index: Zend/zend_compile.c diff -u Zend/zend_compile.c:1.240.2.10.2.3 Zend/zend_compile.c:1.240.2.10.2.4 --- Zend/zend_compile.c:1.240.2.10.2.3 Fri Jun 24 07:48:30 2005 +++ Zend/zend_compile.c Mon Aug 15 06:47:23 2005 @@ -1121,7 +1121,7 @@ INIT_ZVAL(opline->op1.u.constant); } - if (do_end_vparse) { + if (expr) { if (zend_is_function_or_method_call(expr)) { opline->extended_value = ZEND_RETURNS_FUNCTION; } else { http://cvs.php.net/diff.php/Zend/zend_execute.c?r1=1.316.2.49.2.7&r2=1.316.2.49.2.8&ty=u Index: Zend/zend_execute.c diff -u Zend/zend_execute.c:1.316.2.49.2.7 Zend/zend_execute.c:1.316.2.49.2.8 --- Zend/zend_execute.c:1.316.2.49.2.7 Wed Aug 10 06:37:04 2005 +++ Zend/zend_execute.c Mon Aug 15 06:47:24 2005 @@ -1773,8 +1773,10 @@ } if (!(*retval_ptr_ptr)->is_ref) { - if (EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr == &EX(Ts)[EX(opline)->op1.u.var].var.ptr - || (EX(opline)->extended_value == ZEND_RETURNS_FUNCTION && !EX(Ts)[EX(opline)->op1.u.var].var.fcall_returned_reference)) { + if (EX(opline)->extended_value == ZEND_RETURNS_FUNCTION && + EX(Ts)[EX(opline)->op1.u.var].var.fcall_returned_reference) { + /* intentionally left empty */ + } else if (EX(Ts)[EX(opline)->op1.u.var].var.ptr_ptr == &EX(Ts)[EX(opline)->op1.u.var].var.ptr) { PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ zend_error(E_NOTICE, "Only variable references should be returned by reference"); goto return_by_value;

« previous php.zend-engine.cvs (#4012) next »