diff options
author | Marcus Boerger <helly@php.net> | 2003-11-18 00:18:48 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-11-18 00:18:48 +0000 |
commit | c978cc2ae8dcf5c13cf9fcafb31a45d8ee54dde9 (patch) | |
tree | 448dd079471410aeb55107aea9b4683195e951a8 /Zend/zend_interfaces.c | |
parent | ee997ddbfa7bfa5c12ad953f5a39ea13d3073849 (diff) | |
download | php-git-c978cc2ae8dcf5c13cf9fcafb31a45d8ee54dde9.tar.gz |
Use correct order
Diffstat (limited to 'Zend/zend_interfaces.c')
-rwxr-xr-x | Zend/zend_interfaces.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 8fcf9dd9a9..77a8deb6cd 100755 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -263,6 +263,7 @@ static zend_object_iterator *zend_user_get_iterator(zend_class_entry *ce, zval * static zend_object_iterator *zend_user_get_new_iterator(zend_class_entry *ce, zval *object TSRMLS_DC) { zval *iterator = zend_user_new_iterator(ce, object TSRMLS_CC); + zend_object_iterator *new_iterator; zend_class_entry *ce_it = Z_TYPE_P(iterator) == IS_OBJECT ? Z_OBJCE_P(iterator) : NULL; @@ -271,8 +272,9 @@ static zend_object_iterator *zend_user_get_new_iterator(zend_class_entry *ce, zv zval_ptr_dtor(&iterator); return NULL; } - iterator->refcount--; /* from return */ - return ce_it->get_iterator(ce_it, iterator TSRMLS_CC); + new_iterator = ce_it->get_iterator(ce_it, iterator TSRMLS_CC); + zval_ptr_dtor(&iterator); + return new_iterator; } /* }}} */ |