Skip to content

Commit f13c22f

Browse files
committed
Remove unnecessary zend_user_iterator use in spl_array
We no longer use any functionality of zend_user_iterator here.
1 parent 15bbf6f commit f13c22f

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

ext/spl/spl_array.c

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,6 @@ static int spl_array_next(spl_array_object *intern) /* {{{ */
925925

926926
static void spl_array_it_dtor(zend_object_iterator *iter) /* {{{ */
927927
{
928-
zend_user_it_invalidate_current(iter);
929928
zval_ptr_dtor(&iter->data);
930929
}
931930
/* }}} */
@@ -962,7 +961,6 @@ static void spl_array_it_move_forward(zend_object_iterator *iter) /* {{{ */
962961
{
963962
spl_array_object *object = Z_SPLARRAY_P(&iter->data);
964963
HashTable *aht = spl_array_get_hash_table(object);
965-
zend_user_it_invalidate_current(iter);
966964
spl_array_next_ex(object, aht);
967965
}
968966
/* }}} */
@@ -983,8 +981,7 @@ static void spl_array_rewind(spl_array_object *intern) /* {{{ */
983981
static void spl_array_it_rewind(zend_object_iterator *iter) /* {{{ */
984982
{
985983
spl_array_object *object = Z_SPLARRAY_P(&iter->data);
986-
zend_user_it_invalidate_current(iter);
987-
spl_array_rewind(object);
984+
spl_array_rewind(object);
988985
}
989986
/* }}} */
990987

@@ -1056,15 +1053,13 @@ static const zend_object_iterator_funcs spl_array_it_funcs = {
10561053

10571054
zend_object_iterator *spl_array_get_iterator(zend_class_entry *ce, zval *object, int by_ref) /* {{{ */
10581055
{
1059-
zend_user_iterator *iterator = emalloc(sizeof(zend_user_iterator));
1060-
zend_iterator_init(&iterator->it);
1056+
zend_object_iterator *iterator = emalloc(sizeof(zend_object_iterator));
1057+
zend_iterator_init(iterator);
10611058

1062-
ZVAL_OBJ_COPY(&iterator->it.data, Z_OBJ_P(object));
1063-
iterator->it.funcs = &spl_array_it_funcs;
1064-
iterator->ce = ce;
1065-
ZVAL_UNDEF(&iterator->value);
1059+
ZVAL_OBJ_COPY(&iterator->data, Z_OBJ_P(object));
1060+
iterator->funcs = &spl_array_it_funcs;
10661061

1067-
return &iterator->it;
1062+
return iterator;
10681063
}
10691064
/* }}} */
10701065

0 commit comments

Comments
 (0)