fixed some return code problems raised by Thomas Mauch Daniel
authorDaniel Veillard <veillard@src.gnome.org>
Thu, 2 May 2002 09:09:18 +0000 (09:09 +0000)
committerDaniel Veillard <veillard@src.gnome.org>
Thu, 2 May 2002 09:09:18 +0000 (09:09 +0000)
* xsltproc/xsltproc.c libxslt/xsltutils.c doc/xsltproc.xml:
  fixed some return code problems raised by Thomas Mauch
Daniel

ChangeLog
doc/xsltproc.xml
libxslt/xsltutils.c
xsltproc/xsltproc.c

index 1e51151..473ce45 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu May  2 11:08:22 CEST 2002 Daniel Veillard <daniel@veillard.com>
+
+       * xsltproc/xsltproc.c libxslt/xsltutils.c doc/xsltproc.xml:
+         fixed some return code problems raised by Thomas Mauch
+
 Tue Apr 30 18:06:14 CEST 2002 Daniel Veillard <daniel@veillard.com>
 
        * libxslt/transform.c: don't allow adding an attribute to
index 3106a06..04a6a0f 100644 (file)
     <para>7: unsupported xsl:output method</para>
     <para>8: string parameter contains both quote and double-quotes</para>
     <para>9: internal processing error</para>
+    <para>10: processing was stopped by a terminating message</para>
   </refsect1>
 
 
index a35a241..0cdabc6 100644 (file)
@@ -161,6 +161,7 @@ xsltMessage(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst) {
        } else {
            xsltGenericError(xsltGenericErrorContext,
                "xsl:message : terminate expecting 'yes' or 'no'\n");
+           ctxt->state = XSLT_STATE_ERROR;
        }
        xmlFree(prop);
     }
index af65d48..69a6702 100644 (file)
@@ -282,6 +282,8 @@ xsltProcess(xmlDocPtr doc, xsltStylesheetPtr cur, const char *filename) {
        }
        if (ctxt->state == XSLT_STATE_ERROR)
            errorno = 9;
+       if (ctxt->state == XSLT_STATE_STOPPED)
+           errorno = 10;
        xsltFreeTransformContext(ctxt);
        if (timing) {
            if (repeat)
@@ -605,6 +607,10 @@ main(int argc, char **argv)
                }
                cur = xsltParseStylesheetDoc(style);
                if (cur != NULL) {
+                   if (cur->errors != 0) {
+                       errorno = 5;
+                       goto done;
+                   }
                    if (cur->indent == 1)
                        xmlIndentTreeOutput = 1;
                    else