summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
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);