]> granicus.if.org Git - php/commitdiff
- Make plist_destructor work like list_destructor to allow it to call
authorAndi Gutmans <andi@php.net>
Thu, 4 Jan 2001 06:20:26 +0000 (06:20 +0000)
committerAndi Gutmans <andi@php.net>
Thu, 4 Jan 2001 06:20:26 +0000 (06:20 +0000)
  extended destructors.

Zend/zend_list.c

index 7fb20c85cba76473bb7f18d683cec5dbeafb32e1..1631e72750e41999e02106af77cd007a5ffed742 100644 (file)
@@ -272,8 +272,18 @@ void plist_entry_destructor(void *ptr)
        zend_rsrc_list_dtors_entry *ld;
 
        if (zend_hash_index_find(&list_destructors, le->type,(void **) &ld)==SUCCESS) {
-               if (ld->plist_dtor) {
-                       (ld->plist_dtor)(le->ptr);
+               switch (ld->type) {
+                       case ZEND_RESOURCE_LIST_TYPE_STD:
+                               if (ld->list_dtor) {
+                                       (ld->list_dtor)(le->ptr);
+                               }
+                               break;
+                       case ZEND_RESOURCE_LIST_TYPE_EX:
+                               if (ld->list_dtor_ex) {
+                                       ld->list_dtor_ex(le);
+                               }
+                               break;
+                               EMPTY_SWITCH_DEFAULT_CASE()
                }
        } else {
                zend_error(E_WARNING,"Unknown persistent list entry type in module shutdown (%d)",le->type);