apply patch fron Shaun McCance to hook xsl:message construct to the new
authorDaniel Veillard <veillard@src.gnome.org>
Tue, 27 Mar 2007 14:49:10 +0000 (14:49 +0000)
committerDaniel Veillard <veillard@src.gnome.org>
Tue, 27 Mar 2007 14:49:10 +0000 (14:49 +0000)
* libxslt/xsltutils.c: apply patch fron Shaun McCance to hook
  xsl:message construct to the new per-xsltTransformCtxt error
  callback if set up.
* Makefile.am: do not package svn files in releases
Daniel

svn path=/trunk/; revision=1424

ChangeLog
Makefile.am
libxslt/xsltutils.c
tests/docbook/Makefile.am

index 7c2ce2d..ab619a7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Mar 27 16:50:52 CEST 2007 Daniel Veillard <daniel@veillard.com>
+
+       * libxslt/xsltutils.c: apply patch fron Shaun McCance to hook
+         xsl:message construct to the new per-xsltTransformCtxt error
+         callback if set up.
+       * Makefile.am: do not package svn files in releases
+
 Fri Mar  2 18:45:48 HKT 2007 William Brack <wbrack@mmm.com.hk>
 
        * libxslt/xsltconfig.h.in: added setting of TRIO_REPLACE_STDIO
index a599990..839d4e5 100644 (file)
@@ -14,7 +14,7 @@ confexec_DATA = xsltConf.sh
 bin_SCRIPTS = xslt-config
 
 dist-hook: cleanup libxslt.spec
-       (cd $(srcdir) ; tar -cf - --exclude CVS win32 vms examples) | (cd $(distdir); tar xf -)
+       (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn win32 vms examples) | (cd $(distdir); tar xf -)
 
 CVS_EXTRA_DIST =
 
index 375ecfc..370b22d 100644 (file)
@@ -425,12 +425,19 @@ xsltPointerListClear(xsltPointerListPtr list)
  */
 void
 xsltMessage(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst) {
+    xmlGenericErrorFunc error = xsltGenericError;
+    void *errctx = xsltGenericErrorContext;
     xmlChar *prop, *message;
     int terminate = 0;
 
     if ((ctxt == NULL) || (inst == NULL))
        return;
 
+    if (ctxt->error != NULL) {
+       error = ctxt->error;
+       errctx = ctxt->errctx;
+    }
+
     prop = xmlGetNsProp(inst, (const xmlChar *)"terminate", NULL);
     if (prop != NULL) {
        if (xmlStrEqual(prop, (const xmlChar *)"yes")) {
@@ -438,7 +445,7 @@ xsltMessage(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst) {
        } else if (xmlStrEqual(prop, (const xmlChar *)"no")) {
            terminate = 0;
        } else {
-           xsltGenericError(xsltGenericErrorContext,
+           error(errctx,
                "xsl:message : terminate expecting 'yes' or 'no'\n");
            ctxt->state = XSLT_STATE_ERROR;
        }
@@ -448,10 +455,9 @@ xsltMessage(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst) {
     if (message != NULL) {
        int len = xmlStrlen(message);
 
-       xsltGenericError(xsltGenericErrorContext, "%s",
-                        (const char *)message);
+       error(errctx, "%s", (const char *)message);
        if ((len > 0) && (message[len - 1] != '\n'))
-           xsltGenericError(xsltGenericErrorContext, "\n");
+           error(errctx, "\n");
        xmlFree(message);
     }
     if (terminate)
index b223f4f..a785a0d 100644 (file)
@@ -186,4 +186,4 @@ xhtmltests: $(top_builddir)/xsltproc/xsltproc
          rm -f $$out ; done )
 
 dist-hook:
-       @(cd $(srcdir) ; tar -cf - --exclude CVS common html dtd lib xhtml fo doc images template htmlhelp result test) | (cd $(distdir); tar xf -)
+       @(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn common html dtd lib xhtml fo doc images template htmlhelp result test) | (cd $(distdir); tar xf -)