diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-04-10 01:08:52 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-10 01:08:52 +0400 |
commit | 2016e72111f371e8e4d96f6d7cb870ca0e673175 (patch) | |
tree | ce83ddeb30ae9c0fae33aa5671c734237d295c59 /ext | |
parent | d8a0c6c6ab5d8855b322d00bb3dcb4d8b8da90e9 (diff) | |
download | php-git-2016e72111f371e8e4d96f6d7cb870ca0e673175.tar.gz |
Temporary refcounting fix
Diffstat (limited to 'ext')
-rw-r--r-- | ext/spl/spl_iterators.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index 443fbbc003..679c480e2a 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -464,7 +464,7 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla if (instanceof_function(Z_OBJCE_P(iterator), zend_ce_aggregate TSRMLS_CC)) { zval *aggregate = iterator; zend_call_method_with_0_params(aggregate, Z_OBJCE_P(aggregate), &Z_OBJCE_P(aggregate)->iterator_funcs.zf_new_iterator, "getiterator", iterator); - inc_refcount = 0; +//??? inc_refcount = 0; } if (user_caching_it_flags) { @@ -478,7 +478,7 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla zval_ptr_dtor(iterator); } iterator = &caching_it; - inc_refcount = 0; +//??? inc_refcount = 0; } else { iterator = NULL; } @@ -493,7 +493,7 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla if (instanceof_function(Z_OBJCE_P(iterator), zend_ce_aggregate TSRMLS_CC)) { zval *aggregate = iterator; zend_call_method_with_0_params(aggregate, Z_OBJCE_P(aggregate), &Z_OBJCE_P(aggregate)->iterator_funcs.zf_new_iterator, "getiterator", iterator); - inc_refcount = 0; +//??? inc_refcount = 0; } } else { iterator = NULL; @@ -550,11 +550,11 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla ce_iterator = Z_OBJCE_P(iterator); /* respect inheritance, don't use spl_ce_RecursiveIterator */ intern->iterators[0].iterator = ce_iterator->get_iterator(ce_iterator, iterator, 0 TSRMLS_CC); - if (inc_refcount) { +//??? if (inc_refcount) { ZVAL_COPY(&intern->iterators[0].zobject, iterator); - } else { - ZVAL_COPY_VALUE(&intern->iterators[0].zobject, iterator); - } +//??? } else { +//??? ZVAL_COPY_VALUE(&intern->iterators[0].zobject, iterator); +//??? } intern->iterators[0].ce = ce_iterator; intern->iterators[0].state = RS_START; |