summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-02-26 15:01:08 +0400
committerDmitry Stogov <dmitry@zend.com>2014-02-26 15:01:08 +0400
commit495551aa8c3d66ee16ab91c1fb97329f10c0632c (patch)
tree19f39597305afd611b7a6788964f7f14ff120208 /Zend/zend_generators.c
parenta4a86df3c0c47362a6932585a447f87dc9823451 (diff)
downloadphp-git-495551aa8c3d66ee16ab91c1fb97329f10c0632c.tar.gz
Fixed iterators API. zend_iterator_init() has to be used in each get_iterator() callback.
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r--Zend/zend_generators.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index f1affbc01e..78cb346eb7 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -675,19 +675,7 @@ zend_object_iterator *zend_generator_get_iterator(zend_class_entry *ce, zval *ob
iterator = &generator->iterator;
-//???
-#if 1
- iterator->intern.std.gc.refcount = 1;
- iterator->intern.std.gc.u.v.type = IS_OBJECT;
- iterator->intern.std.gc.u.v.flags = 0;
- iterator->intern.std.gc.u.v.buffer = 0;
- iterator->intern.std.ce = NULL;
- iterator->intern.std.properties = NULL;
- iterator->intern.std.guards = NULL;
- zend_objects_store_put(&iterator->intern.std);
-#else
- zend_object_std_init(&iterator->intern.std, ???);
-#endif
+ zend_iterator_init(&iterator->intern TSRMLS_CC);
iterator->intern.funcs = &zend_generator_iterator_functions;
iterator->intern.data = (void *) generator;