]> granicus.if.org Git - php/commitdiff
- Fixed a bug in zend_rsrc_list_get_rsrc_type()
authorAndrei Zmievski <andrei@php.net>
Fri, 20 Oct 2000 18:26:15 +0000 (18:26 +0000)
committerAndrei Zmievski <andrei@php.net>
Fri, 20 Oct 2000 18:26:15 +0000 (18:26 +0000)
- Switched register_list_destructors() to use
  zend_register_list_destructors_ex() instead

Zend/zend_list.c
Zend/zend_list.h

index 9b16e8c0a1381f56cfbbba444c7ba702e267fc6f..7fb20c85cba76473bb7f18d683cec5dbeafb32e1 100644 (file)
@@ -397,8 +397,12 @@ void zend_destroy_rsrc_list_dtors()
 char *zend_rsrc_list_get_rsrc_type(int resource)
 {
        zend_rsrc_list_dtors_entry *lde;
+       int rsrc_type;
 
-       if (zend_hash_index_find(&list_destructors, resource, (void **) &lde)==SUCCESS) {
+       if (!zend_list_find(resource, &rsrc_type))
+               return NULL;
+
+       if (zend_hash_index_find(&list_destructors, rsrc_type, (void **) &lde)==SUCCESS) {
                return lde->type_name;
        } else {
                return NULL;
index 6e92b014f5517d4ec446cbb7ff54d530f724fc97..8b9be4c0d63c3a3970dd9085f0509c8ef6fe4775 100644 (file)
@@ -55,7 +55,7 @@ typedef struct _zend_rsrc_list_dtors_entry {
 } zend_rsrc_list_dtors_entry;
 
 
-#define register_list_destructors(ld, pld) zend_register_list_destructors((void (*)(void *))ld, (void (*)(void *))pld, module_number);
+#define register_list_destructors(ld, pld, name) zend_register_list_destructors_ex(ld, pld, name, module_number);
 ZEND_API int zend_register_list_destructors(void (*ld)(void *), void (*pld)(void *), int module_number);
 ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);