helly Sun May 21 17:36:53 2006 UTC Modified files: /php-src/ext/spl spl_iterators.c Log: - More exception related issues http://cvs.php.net/viewcvs.cgi/php-src/ext/spl/spl_iterators.c?r1=1.133&r2=1.134&diff_format=u Index: php-src/ext/spl/spl_iterators.c diff -u php-src/ext/spl/spl_iterators.c:1.133 php-src/ext/spl/spl_iterators.c:1.134 --- php-src/ext/spl/spl_iterators.c:1.133 Sun May 21 17:27:12 2006 +++ php-src/ext/spl/spl_iterators.c Sun May 21 17:36:52 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_iterators.c,v 1.133 2006/05/21 17:27:12 helly Exp $ */ +/* $Id: spl_iterators.c,v 1.134 2006/05/21 17:36:52 helly Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -1317,8 +1317,10 @@ intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); zend_call_method_with_0_params(&intern->inner.zobject, intern->inner.ce, NULL, "getchildren", &retval); - if (!EG(exception)) { + if (!EG(exception) && retval) { spl_instantiate_arg_ex1(Z_OBJCE_P(getThis()), &return_value, 0, retval TSRMLS_CC); + } + if (retval) { zval_ptr_dtor(&retval); } } /* }}} */ @@ -1357,8 +1359,10 @@ intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); zend_call_method_with_0_params(&intern->inner.zobject, intern->inner.ce, NULL, "getchildren", &retval); - if (retval) { + if (!EG(exception) && retval) { spl_instantiate_arg_ex1(Z_OBJCE_P(getThis()), &return_value, 0, retval TSRMLS_CC); + } + if (retval) { zval_ptr_dtor(&retval); } } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php