rrichards Fri Aug 13 07:38:04 2004 EDT
Modified files: (Branch: PHP_4_3)
/php-src/ext/domxml php_domxml.h php_domxml.c
Log:
Fixed bug #29599 (domxml_error segfaults another apache module)
http://cvs.php.net/diff.php/php-src/ext/domxml/php_domxml.h?r1=1.72.4.5&r2=1.72.4.6&ty=u
Index: php-src/ext/domxml/php_domxml.h
diff -u php-src/ext/domxml/php_domxml.h:1.72.4.5
php-src/ext/domxml/php_domxml.h:1.72.4.6
--- php-src/ext/domxml/php_domxml.h:1.72.4.5 Fri Sep 26 12:33:58 2003
+++ php-src/ext/domxml/php_domxml.h Fri Aug 13 07:38:03 2004
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.h,v 1.72.4.5 2003/09/26 16:33:58 moriyoshi Exp $ */
+/* $Id: php_domxml.h,v 1.72.4.6 2004/08/13 11:38:03 rrichards Exp $ */
#ifndef PHP_DOMXML_H
#define PHP_DOMXML_H
@@ -75,6 +75,8 @@
/* directory functions */
PHP_MINIT_FUNCTION(domxml);
PHP_MSHUTDOWN_FUNCTION(domxml);
+PHP_RINIT_FUNCTION(domxml);
+PHP_RSHUTDOWN_FUNCTION(domxml);
PHP_MINFO_FUNCTION(domxml);
PHP_FUNCTION(domxml_version);
PHP_FUNCTION(xmldoc);
http://cvs.php.net/diff.php/php-src/ext/domxml/php_domxml.c?r1=1.218.2.47&r2=1.218.2.48&ty=u
Index: php-src/ext/domxml/php_domxml.c
diff -u php-src/ext/domxml/php_domxml.c:1.218.2.47
php-src/ext/domxml/php_domxml.c:1.218.2.48
--- php-src/ext/domxml/php_domxml.c:1.218.2.47 Sat Jun 19 11:09:46 2004
+++ php-src/ext/domxml/php_domxml.c Fri Aug 13 07:38:03 2004
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.218.2.47 2004/06/19 15:09:46 sesser Exp $ */
+/* $Id: php_domxml.c,v 1.218.2.48 2004/08/13 11:38:03 rrichards Exp $ */
/* TODO
* - Support Notation Nodes
@@ -540,8 +540,8 @@
domxml_functions,
PHP_MINIT(domxml),
PHP_MSHUTDOWN(domxml),
- NULL,
- NULL,
+ PHP_RINIT(domxml),
+ PHP_RSHUTDOWN(domxml),
PHP_MINFO(domxml),
DOMXML_API_VERSION, /* Extension versionnumber */
STANDARD_MODULE_PROPERTIES
@@ -1510,6 +1510,24 @@
}
+PHP_RINIT_FUNCTION(domxml)
+{
+ xmlSetGenericErrorFunc(xmlGenericErrorContext,
(xmlGenericErrorFunc)domxml_error);
+#if HAVE_DOMXSLT
+ xsltSetGenericErrorFunc(xsltGenericErrorContext,
(xmlGenericErrorFunc)domxml_error);
+#endif
+ return SUCCESS;
+}
+
+PHP_RSHUTDOWN_FUNCTION(domxml)
+{
+ xmlSetGenericErrorFunc(xmlGenericErrorContext, NULL);
+#if HAVE_DOMXSLT
+ xsltSetGenericErrorFunc(xsltGenericErrorContext, NULL);
+#endif
+ return SUCCESS;
+}
+
PHP_MSHUTDOWN_FUNCTION(domxml)
{
#if HAVE_DOMXSLT
@@ -1668,15 +1686,9 @@
REGISTER_LONG_CONSTANT("DOMXML_LOAD_SUBSTITUTE_ENTITIES",
DOMXML_LOAD_SUBSTITUTE_ENTITIES, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DOMXML_LOAD_COMPLETE_ATTRS",DOMXML_LOAD_COMPLETE_ATTRS,
CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DOMXML_LOAD_DONT_KEEP_BLANKS",DOMXML_LOAD_DONT_KEEP_BLANKS,
CONST_CS | CONST_PERSISTENT);
- xmlSetGenericErrorFunc(xmlGenericErrorContext,
(xmlGenericErrorFunc)domxml_error);
-#if (defined(LIBXML_THREAD_ENABLED) && LIBXML_VERSION >= 20511)
- xmlThrDefSetGenericErrorFunc(xmlGenericErrorContext,
(xmlGenericErrorFunc)domxml_error);
-#endif
-#if HAVE_DOMXSLT
- xsltSetGenericErrorFunc(xsltGenericErrorContext,
(xmlGenericErrorFunc)domxml_error);
-#if HAVE_DOMEXSLT
+
+#if HAVE_DOMXSLT && HAVE_DOMEXSLT
exsltRegisterAll();
-#endif
#endif
xmlInitParser();
return SUCCESS;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php