summaryrefslogtreecommitdiff
path: root/Zend/zend_iterators.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_iterators.c')
-rw-r--r--Zend/zend_iterators.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c
index 7610aadfc8..5514c8bba8 100644
--- a/Zend/zend_iterators.c
+++ b/Zend/zend_iterators.c
@@ -65,11 +65,10 @@ static void iter_wrapper_dtor(zend_object *object TSRMLS_DC)
iter->funcs->dtor(iter TSRMLS_CC);
}
-ZEND_API void zend_iterator_wrap(zend_object_iterator *iter, zval *wrapped TSRMLS_DC)
+ZEND_API void zend_iterator_init(zend_object_iterator *iter TSRMLS_DC)
{
- ZVAL_OBJ(wrapped, &iter->std);
- //??? hack (it would be better implement it in anothe way)
- Z_OBJ_HT_P(wrapped) = &iterator_object_handlers;
+ zend_object_std_init(&iter->std, &zend_iterator_class_entry);
+ iter->std.handlers = &iterator_object_handlers;
}
ZEND_API enum zend_object_iterator_kind zend_iterator_unwrap(