On Wed, 2004-04-21 at 23:06, Sterling Hughes wrote:
> Err, read back in the message.  Specifically about "should reset the 
> generic error handler."  If it doesn't reset it, that's a separate 
> issue. 

see the attached patch.

it fixes this problem for my test case. Does not completely shutdown the
xmlParser between requests, but just fixes the error handling stuff.

-Paul Querna
Index: ext/libxml/libxml.c
===================================================================
RCS file: /repository/php-src/ext/libxml/libxml.c,v
retrieving revision 1.16
diff -u -r1.16 libxml.c
--- ext/libxml/libxml.c	1 Mar 2004 12:09:22 -0000	1.16
+++ ext/libxml/libxml.c	22 Apr 2004 05:29:57 -0000
@@ -400,9 +400,6 @@
 			php_libxml_streams_IO_write, 
 			php_libxml_streams_IO_close);
 
-		/* report errors via handler rather than stderr */
-		xmlSetGenericErrorFunc(NULL, php_libxml_error_handler);
-
 		zend_hash_init(&php_libxml_exports, 0, NULL, NULL, 1);
 
 		_php_libxml_initialized = 1;
@@ -411,8 +408,6 @@
 
 PHP_LIBXML_API void php_libxml_shutdown() {
 	if (_php_libxml_initialized) {
-		/* reset libxml generic error handling */
-		xmlSetGenericErrorFunc(NULL, NULL);
 		xmlCleanupParser();
 		zend_hash_destroy(&php_libxml_exports);
 		_php_libxml_initialized = 0;
@@ -436,7 +431,10 @@
 
 PHP_RINIT_FUNCTION(libxml)
 {
-    return SUCCESS;
+	/* report errors via handler rather than stderr */
+	xmlSetGenericErrorFunc(NULL, php_libxml_error_handler);
+
+	return SUCCESS;
 }
 
 
@@ -450,6 +448,8 @@
 
 PHP_RSHUTDOWN_FUNCTION(libxml)
 {
+	/* reset libxml generic error handling */
+	xmlSetGenericErrorFunc(NULL, NULL);
 	smart_str_free(&LIBXML(error_buffer));
 	return SUCCESS;
 }

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to