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;
} 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);