summaryrefslogtreecommitdiff
path: root/ext/spl
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl')
-rw-r--r--ext/spl/spl_array.c2
-rw-r--r--ext/spl/spl_dllist.c3
-rw-r--r--ext/spl/spl_fixedarray.c3
-rw-r--r--ext/spl/spl_heap.c6
-rw-r--r--ext/spl/spl_iterators.c2
5 files changed, 16 insertions, 0 deletions
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index e272a145e5..e552ca8fb4 100644
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -1148,6 +1148,8 @@ zend_object_iterator *spl_array_get_iterator(zend_class_entry *ce, zval *object,
iterator = emalloc(sizeof(spl_array_it));
+ zend_iterator_init((zend_object_iterator*)iterator TSRMLS_CC);
+
Z_ADDREF_P(object);
iterator->intern.it.data = (void*)object;
iterator->intern.it.funcs = &spl_array_it_funcs;
diff --git a/ext/spl/spl_dllist.c b/ext/spl/spl_dllist.c
index fbe249456e..99863626bc 100644
--- a/ext/spl/spl_dllist.c
+++ b/ext/spl/spl_dllist.c
@@ -1291,6 +1291,9 @@ zend_object_iterator *spl_dllist_get_iterator(zend_class_entry *ce, zval *object
Z_ADDREF_P(object);
iterator = emalloc(sizeof(spl_dllist_it));
+
+ zend_iterator_init((zend_object_iterator*)iterator TSRMLS_CC);
+
iterator->intern.it.data = (void*)object;
iterator->intern.it.funcs = &spl_dllist_it_funcs;
iterator->intern.ce = ce;
diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c
index 075df9b2b7..9e5e8b590c 100644
--- a/ext/spl/spl_fixedarray.c
+++ b/ext/spl/spl_fixedarray.c
@@ -1052,6 +1052,9 @@ zend_object_iterator *spl_fixedarray_get_iterator(zend_class_entry *ce, zval *ob
Z_ADDREF_P(object);
iterator = emalloc(sizeof(spl_fixedarray_it));
+
+ zend_iterator_init((zend_object_iterator*)iterator TSRMLS_CC);
+
iterator->intern.it.data = object;
iterator->intern.it.funcs = &spl_fixedarray_it_funcs;
iterator->intern.ce = ce;
diff --git a/ext/spl/spl_heap.c b/ext/spl/spl_heap.c
index 9159000799..2afee6cd49 100644
--- a/ext/spl/spl_heap.c
+++ b/ext/spl/spl_heap.c
@@ -1091,6 +1091,9 @@ zend_object_iterator *spl_heap_get_iterator(zend_class_entry *ce, zval *object,
Z_ADDREF_P(object);
iterator = emalloc(sizeof(spl_heap_it));
+
+ zend_iterator_init((zend_object_iterator*)iterator TSRMLS_CC);
+
iterator->intern.it.data = (void*)object;
iterator->intern.it.funcs = &spl_heap_it_funcs;
iterator->intern.ce = ce;
@@ -1115,6 +1118,9 @@ zend_object_iterator *spl_pqueue_get_iterator(zend_class_entry *ce, zval *object
Z_ADDREF_P(object);
iterator = emalloc(sizeof(spl_heap_it));
+
+ zend_iterator_init((zend_object_iterator*)iterator TSRMLS_CC);
+
iterator->intern.it.data = (void*)object;
iterator->intern.it.funcs = &spl_pqueue_it_funcs;
iterator->intern.ce = ce;
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index 81d1ecc4bc..2891f3ce9b 100644
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -423,6 +423,8 @@ static zend_object_iterator *spl_recursive_it_get_iterator(zend_class_entry *ce,
"the parent constructor has not been called");
}
+ zend_iterator_init((zend_object_iterator*)iterator TSRMLS_CC);
+
Z_ADDREF_P(zobject);
iterator->intern.data = (void*)object;
iterator->intern.funcs = ce->iterator_funcs.funcs;