sterling Thu Jun 5 13:48:26 2003 EDT Modified files: /php4/ext/dom php_dom.c Log: fig segv on make install (double destroy badness) Index: php4/ext/dom/php_dom.c diff -u php4/ext/dom/php_dom.c:1.1 php4/ext/dom/php_dom.c:1.2 --- php4/ext/dom/php_dom.c:1.1 Thu Jun 5 13:06:52 2003 +++ php4/ext/dom/php_dom.c Thu Jun 5 13:48:25 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_dom.c,v 1.1 2003/06/05 17:06:52 rrichards Exp $ */ +/* $Id: php_dom.c,v 1.2 2003/06/05 17:48:25 sterling Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -37,6 +37,8 @@ #define PHP_XPATH 1 #define PHP_XPTR 2 +extern int xml_parser_inited; + zend_object_handlers dom_object_handlers; static HashTable classes; @@ -542,8 +544,10 @@ REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_ENUMERATION", XML_ATTRIBUTE_ENUMERATION, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("XML_ATTRIBUTE_NOTATION", XML_ATTRIBUTE_NOTATION, CONST_CS | CONST_PERSISTENT); - - xmlInitParser(); + if (!xml_parser_inited) { + xmlInitThreads(); + xml_parser_inited = 1; + } return SUCCESS; } @@ -571,7 +575,10 @@ PHP_MSHUTDOWN_FUNCTION(dom) { - xmlCleanupParser(); + if (xml_parser_inited) { + xmlCleanupParser(); + xml_parser_inited = 0; + } zend_hash_destroy(&dom_domstringlist_prop_handlers); zend_hash_destroy(&dom_namelist_prop_handlers);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php