summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2000-10-20 18:25:16 +0000
committerAndrei Zmievski <andrei@php.net>2000-10-20 18:25:16 +0000
commit7b4983c8f82c4f361df787f58c6f5cf88d5def0b (patch)
treee38e8ffceb65a0f2492b28e2b07c8668fcddeda4 /ext/xml/xml.c
parenta0cfab65ea72963f81a3440a3587d11bd7800337 (diff)
downloadphp-git-7b4983c8f82c4f361df787f58c6f5cf88d5def0b.tar.gz
Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type() * Switched register_list_destructors() to use zend_register_list_destructors_ex() instead * Updated all relevant modules to provide the resource type name to register_list_destructors() call * Updated var_dump() to output resource type name instead of number @- Made resource type names visible, e.g. var_dump() and @ get_resource_type() display "file" for file resources. (Andrei)
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index a6d10cf77b..55da38a4ed 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -69,7 +69,7 @@ PHP_MSHUTDOWN_FUNCTION(xml);
PHP_RSHUTDOWN_FUNCTION(xml);
PHP_MINFO_FUNCTION(xml);
-static void xml_parser_dtor(xml_parser *);
+static void xml_parser_dtor(zend_rsrc_list_entry *rsrc);
static void xml_set_handler(zval **, zval **);
inline static unsigned short xml_encode_iso_8859_1(unsigned char);
inline static char xml_decode_iso_8859_1(unsigned short);
@@ -159,7 +159,7 @@ static void php_xml_init_globals(php_xml_globals *xml_globals)
PHP_MINIT_FUNCTION(xml)
{
- le_xml_parser = register_list_destructors(xml_parser_dtor, NULL);
+ le_xml_parser = register_list_destructors(xml_parser_dtor, NULL, "xml");
#ifdef ZTS
xml_globals_id = ts_allocate_id(sizeof(php_xml_globals), (ts_allocate_ctor) php_xml_init_globals, NULL);
@@ -276,8 +276,9 @@ static zval *_xml_xmlchar_zval(const XML_Char *s, int len, const XML_Char *encod
/* {{{ xml_parser_dtor() */
static void
-xml_parser_dtor(xml_parser *parser)
+xml_parser_dtor(zend_rsrc_list_entry *rsrc)
{
+ xml_parser *parser = (xml_parser *)rsrc->ptr;
if (parser->object) {
zval_del_ref(&parser->object);