]> granicus.if.org Git - php/commitdiff
dtor handler must be set
authorDmitry Stogov <dmitry@zend.com>
Thu, 21 Aug 2014 07:17:05 +0000 (11:17 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 21 Aug 2014 07:17:05 +0000 (11:17 +0400)
Zend/zend_iterators.c

index faf4f91d8424b9eef641ad0dc66f0245eab0d481..7c08ac59b511612006c2ebed74a1478b1259eb39 100644 (file)
 
 static zend_class_entry zend_iterator_class_entry;
 
+static void iter_wrapper_free(zend_object *object TSRMLS_DC);
 static void iter_wrapper_dtor(zend_object *object TSRMLS_DC);
 
 static zend_object_handlers iterator_object_handlers = {
        0,
+       iter_wrapper_free,
        iter_wrapper_dtor,
        NULL,
-       NULL,
        NULL, /* prop read */
        NULL, /* prop write */
        NULL, /* read dim */
@@ -58,12 +59,16 @@ ZEND_API void zend_register_iterator_wrapper(TSRMLS_D)
        INIT_CLASS_ENTRY(zend_iterator_class_entry, "__iterator_wrapper", NULL);
 }
 
-static void iter_wrapper_dtor(zend_object *object TSRMLS_DC)
+static void iter_wrapper_free(zend_object *object TSRMLS_DC)
 {
        zend_object_iterator *iter = (zend_object_iterator*)object;
        iter->funcs->dtor(iter TSRMLS_CC);
 }
 
+static void iter_wrapper_dtor(zend_object *object TSRMLS_DC)
+{
+}
+
 ZEND_API void zend_iterator_init(zend_object_iterator *iter TSRMLS_DC)
 {
        zend_object_std_init(&iter->std, &zend_iterator_class_entry TSRMLS_CC);