rrichards               Fri Dec 12 08:54:53 2003 EDT

  Modified files:              
    /php-src/ext/dom    document.c 
  Log:
  use error handling from libxml ext
  
Index: php-src/ext/dom/document.c
diff -u php-src/ext/dom/document.c:1.39 php-src/ext/dom/document.c:1.40
--- php-src/ext/dom/document.c:1.39     Mon Dec  1 03:18:35 2003
+++ php-src/ext/dom/document.c  Fri Dec 12 08:54:52 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: document.c,v 1.39 2003/12/01 08:18:35 chregu Exp $ */
+/* $Id: document.c,v 1.40 2003/12/12 13:54:52 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -97,85 +97,6 @@
        {NULL, NULL, NULL}
 };
 
-static void php_dom_validate_error(void *ctx, const char *msg, ...)
-{
-       char *buf;
-       va_list ap;
-       int len;
-
-       va_start(ap, msg);
-       len = vspprintf(&buf, 0, msg, ap);
-       va_end(ap);
-       
-       /* remove any trailing \n */
-       while (len && buf[--len] == '\n') {
-               buf[len] = '\0';
-       }
-
-       php_error(E_WARNING, "%s", buf);
-       efree(buf);
-}
-
-/* {{{ static void php_dom_ctx_error_level(int level, void *ctx, const char *msg, 
...) */
-static void php_dom_ctx_error_level(int level, void *ctx, const char *msg)
-{
-       xmlParserCtxtPtr parser;
-       TSRMLS_FETCH();
-
-       parser = (xmlParserCtxtPtr) ctx;
-
-       if (parser != NULL && parser->input != NULL) {
-               if (parser->input->filename) {
-                       php_error_docref(NULL TSRMLS_CC, level, "%s in %s, line: %d", 
msg, parser->input->filename, parser->input->line);
-               } else {
-                       php_error_docref(NULL TSRMLS_CC, level, "%s in Entity, line: 
%d", msg, parser->input->line);
-               }
-       }
-}
-/* }}} end php_dom_ctx_error */
-
-/* {{{ static void php_dom_ctx_error(void *ctx, const char *msg, ...) */
-static void php_dom_ctx_error(void *ctx, const char *msg, ...)
-{
-       va_list ap;
-       char *buf;
-       int len;
-
-       va_start(ap, msg);
-       len = vspprintf(&buf, 0, msg, ap);
-       va_end(ap);
-       
-       /* remove any trailing \n */
-       while (len && buf[--len] == '\n') {
-               buf[len] = '\0';
-       }
-
-       php_dom_ctx_error_level(E_WARNING, ctx, buf);
-       efree(buf);
-}
-/* }}} end php_dom_ctx_error */
-
-static void php_dom_ctx_warning(void *ctx, const char *msg, ...)
-{
-       va_list ap;
-       char *buf;
-       int len;
-
-       va_start(ap, msg);
-       len = vspprintf(&buf, 0, msg, ap);
-       va_end(ap);
-       
-       /* remove any trailing \n */
-       while (len && buf[--len] == '\n') {
-               buf[len] = '\0';
-       }
-
-       php_dom_ctx_error_level(E_NOTICE, ctx, buf);
-       efree(buf);
-}
-/* }}} end php_dom_ctx_error */
-
-
 /* {{{ proto doctype   documenttype    
 readonly=yes 
 URL: 
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-B63ED1A31
@@ -1336,12 +1257,12 @@
     ctxt->loadsubset = (resolve_externals * XML_COMPLETE_ATTRS);
        ctxt->replaceEntities = substitute_ent;
 
-       ctxt->vctxt.error = php_dom_ctx_error;
-       ctxt->vctxt.warning = php_dom_ctx_warning;
+       ctxt->vctxt.error = php_libxml_ctx_error;
+       ctxt->vctxt.warning = php_libxml_ctx_warning;
 
        if (ctxt->sax != NULL) {
-               ctxt->sax->error = php_dom_ctx_error;
-               ctxt->sax->warning = php_dom_ctx_warning;
+               ctxt->sax->error = php_libxml_ctx_error;
+               ctxt->sax->warning = php_libxml_ctx_warning;
        }
 
        xmlParseDocument(ctxt);
@@ -1559,8 +1480,8 @@
        }
     
        cvp.userData = NULL;
-       cvp.error    = (xmlValidityErrorFunc) php_dom_validate_error;
-       cvp.warning  = (xmlValidityErrorFunc) php_dom_validate_error;
+       cvp.error    = (xmlValidityErrorFunc) php_libxml_error_handler;
+       cvp.warning  = (xmlValidityErrorFunc) php_libxml_error_handler;
 
        if (xmlValidateDocument(&cvp, docp)) {
                RETVAL_TRUE;
@@ -1608,8 +1529,8 @@
        }
 
        xmlSchemaSetParserErrors(parser,
-               (xmlSchemaValidityErrorFunc) php_dom_validate_error,
-               (xmlSchemaValidityWarningFunc) php_dom_validate_error,
+               (xmlSchemaValidityErrorFunc) php_libxml_error_handler,
+               (xmlSchemaValidityWarningFunc) php_libxml_error_handler,
                parser);
        sptr = xmlSchemaParse(parser);
        xmlSchemaFreeParserCtxt(parser);
@@ -1627,7 +1548,7 @@
                RETURN_FALSE;
        }
 
-       xmlSchemaSetValidErrors(vptr, php_dom_validate_error, php_dom_validate_error, 
vptr);
+       xmlSchemaSetValidErrors(vptr, php_libxml_error_handler, 
php_libxml_error_handler, vptr);
        is_valid = xmlSchemaValidateDoc(vptr, docp);
        xmlSchemaFree(sptr);
        xmlSchemaFreeValidCtxt(vptr);
@@ -1691,8 +1612,8 @@
        }
 
        xmlRelaxNGSetParserErrors(parser,
-               (xmlRelaxNGValidityErrorFunc) php_dom_validate_error,
-               (xmlRelaxNGValidityWarningFunc) php_dom_validate_error,
+               (xmlRelaxNGValidityErrorFunc) php_libxml_error_handler,
+               (xmlRelaxNGValidityWarningFunc) php_libxml_error_handler,
                parser);
        sptr = xmlRelaxNGParse(parser);
        xmlRelaxNGFreeParserCtxt(parser);
@@ -1710,7 +1631,7 @@
                RETURN_FALSE;
        }
 
-       xmlRelaxNGSetValidErrors(vptr, php_dom_validate_error, php_dom_validate_error, 
vptr);
+       xmlRelaxNGSetValidErrors(vptr, php_libxml_error_handler, 
php_libxml_error_handler, vptr);
        is_valid = xmlRelaxNGValidateDoc(vptr, docp);
        xmlRelaxNGFree(sptr);
        xmlRelaxNGFreeValidCtxt(vptr);
@@ -1762,11 +1683,11 @@
                source_len = xmlStrlen(source);
                ctxt = htmlCreateMemoryParserCtxt(source, source_len);
        }
-       ctxt->vctxt.error = php_dom_ctx_error;
-       ctxt->vctxt.warning = php_dom_ctx_warning;
+       ctxt->vctxt.error = php_libxml_ctx_error;
+       ctxt->vctxt.warning = php_libxml_ctx_warning;
        if (ctxt->sax != NULL) {
-               ctxt->sax->error = php_dom_ctx_error;
-               ctxt->sax->warning = php_dom_ctx_warning;
+               ctxt->sax->error = php_libxml_ctx_error;
+               ctxt->sax->warning = php_libxml_ctx_warning;
        }
        htmlParseDocument(ctxt);
        newdoc = ctxt->myDoc;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to