When running xsltproc with the --xinclude option and if the included file
contains parse errors, then xsltproc exits with a success return code (0)
rather than an error code. This is despite the fact that parser error
messages are printed out.
* xsltproc/xsltproc.c: check xinclude processing function return code,
fail with error 6 if it went wrong.
#ifdef LIBXML_XINCLUDE_ENABLED
if (xinclude) {
+ int ret;
+
if (timing)
startTimer();
#if LIBXML_VERSION >= 20603
- xmlXIncludeProcessFlags(doc, XSLT_PARSE_OPTIONS);
+ ret = xmlXIncludeProcessFlags(doc, XSLT_PARSE_OPTIONS);
#else
- xmlXIncludeProcess(doc);
+ ret = xmlXIncludeProcess(doc);
#endif
if (timing) {
endTimer("XInclude processing %s", filename);
}
+
+ if (ret < 0) {
+ errorno = 6;
+ return;
+ }
}
#endif
if (timing)