summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-03-13 16:24:57 +0100
committerNikita Popov <nikic@php.net>2015-03-13 16:25:21 +0100
commit4b930e156f161d3e9f7526fd9ba840923833a316 (patch)
tree70eba78c0bbc6b78ebfb26f5b58912802a132b23 /Zend/zend_generators.c
parent8cc8d4830a993f02424fbd7dadd9e42a90f0a558 (diff)
parenta9d73f0646ca95134f5f2ada0899a7616c1ea705 (diff)
downloadphp-git-4b930e156f161d3e9f7526fd9ba840923833a316.tar.gz
Merge branch 'PHP-5.5' into PHP-5.6
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r--Zend/zend_generators.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index cc284e263f..4b18f4221d 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -605,9 +605,9 @@ ZEND_METHOD(Generator, __wakeup)
static void zend_generator_iterator_dtor(zend_object_iterator *iterator TSRMLS_DC) /* {{{ */
{
- zval *object = ((zend_generator_iterator *) iterator)->object;
+ zend_generator_iterator *iter = (zend_generator_iterator *) iterator;
- zval_ptr_dtor(&object);
+ zend_objects_store_del_ref_by_handle(iter->handle TSRMLS_CC);
}
/* }}} */
@@ -699,8 +699,8 @@ zend_object_iterator *zend_generator_get_iterator(zend_class_entry *ce, zval *ob
/* We have to keep a reference to the generator object zval around,
* otherwise the generator may be destroyed during iteration. */
- Z_ADDREF_P(object);
- iterator->object = object;
+ iterator->handle = Z_OBJ_HANDLE_P(object);
+ zend_objects_store_add_ref_by_handle(iterator->handle TSRMLS_CC);
return (zend_object_iterator *) iterator;
}