Changed include/yaz/diagbib1.h and added include/yaz/diagsrw.h with
[yaz-moved-to-github.git] / src / statserv.c
index f6542c6..dfba86b 100644 (file)
@@ -5,7 +5,7 @@
  * NT threaded server code by
  *   Chas Woodfield, Fretwell Downing Informatics.
  *
- * $Id: statserv.c,v 1.27 2005-03-08 11:48:09 adam Exp $
+ * $Id: statserv.c,v 1.29 2005-03-14 11:14:21 adam Exp $
  */
 
 /**
@@ -38,6 +38,7 @@
 #if HAVE_XML2
 #include <libxml/parser.h>
 #include <libxml/tree.h>
+#include <libxml/xinclude.h>
 #endif
 
 #if YAZ_POSIX_THREADS
@@ -440,8 +441,18 @@ static void xml_config_open()
        xml_config_doc = xmlParseFile(control_block.xml_config);
        if (!xml_config_doc)
        {
-           yaz_log(YLOG_WARN, "Could not parse %s", control_block.xml_config);
-           return ;
+           yaz_log(YLOG_FATAL, "Could not parse %s", control_block.xml_config);
+           exit(1);
+       }
+       else
+       {
+           int noSubstitutions = xmlXIncludeProcess(xml_config_doc);
+           if (noSubstitutions == -1)
+           {
+               yaz_log(YLOG_WARN, "XInclude processing failed for config %s",
+                       control_block.xml_config);
+               exit(1);
+           }
        }
     }
     xml_config_read();