}
/* }}} */
+static HashTable *spl_array_it_get_gc(zend_object_iterator *iter, zval **table, int *n)
+{
+ *n = 1;
+ *table = &iter->data;
+ return NULL;
+}
+
/* {{{ spl_array_set_array */
static void spl_array_set_array(zval *object, spl_array_object *intern, zval *array, zend_long ar_flags, int just_array) {
if (Z_TYPE_P(array) != IS_OBJECT && Z_TYPE_P(array) != IS_ARRAY) {
spl_array_it_move_forward,
spl_array_it_rewind,
NULL,
- NULL, /* get_gc */
+ spl_array_it_get_gc,
};
zend_object_iterator *spl_array_get_iterator(zend_class_entry *ce, zval *object, int by_ref) /* {{{ */
/* Nothing to do */
break;
case DIT_AppendIterator:
- // TODO
- /*zend_get_gc_buffer_add_obj(gc_buffer, &object->u.append.iterator->std);
+ zend_get_gc_buffer_add_obj(gc_buffer, &object->u.append.iterator->std);
if (Z_TYPE(object->u.append.zarrayit) != IS_UNDEF) {
zend_get_gc_buffer_add_zval(gc_buffer, &object->u.append.zarrayit);
- }*/
+ }
break;
case DIT_CachingIterator:
case DIT_RecursiveCachingIterator: