@@ -925,7 +925,6 @@ static int spl_array_next(spl_array_object *intern) /* {{{ */
925
925
926
926
static void spl_array_it_dtor (zend_object_iterator * iter ) /* {{{ */
927
927
{
928
- zend_user_it_invalidate_current (iter );
929
928
zval_ptr_dtor (& iter -> data );
930
929
}
931
930
/* }}} */
@@ -962,7 +961,6 @@ static void spl_array_it_move_forward(zend_object_iterator *iter) /* {{{ */
962
961
{
963
962
spl_array_object * object = Z_SPLARRAY_P (& iter -> data );
964
963
HashTable * aht = spl_array_get_hash_table (object );
965
- zend_user_it_invalidate_current (iter );
966
964
spl_array_next_ex (object , aht );
967
965
}
968
966
/* }}} */
@@ -983,8 +981,7 @@ static void spl_array_rewind(spl_array_object *intern) /* {{{ */
983
981
static void spl_array_it_rewind (zend_object_iterator * iter ) /* {{{ */
984
982
{
985
983
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 );
988
985
}
989
986
/* }}} */
990
987
@@ -1056,15 +1053,13 @@ static const zend_object_iterator_funcs spl_array_it_funcs = {
1056
1053
1057
1054
zend_object_iterator * spl_array_get_iterator (zend_class_entry * ce , zval * object , int by_ref ) /* {{{ */
1058
1055
{
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 );
1061
1058
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 ;
1066
1061
1067
- return & iterator -> it ;
1062
+ return iterator ;
1068
1063
}
1069
1064
/* }}} */
1070
1065
0 commit comments