diff options
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r-- | ext/xml/xml.c | 7 |
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); |