Change local counter to size_t
[yaz-moved-to-github.git] / src / xml_include.c
index c0d2f0b..21e6b0e 100644 (file)
@@ -1,17 +1,15 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
  */
 
-/** \file 
+/** \file
     \brief XML Include (not to be confused with W3C XInclude)
 */
 #if HAVE_CONFIG_H
 #include <config.h>
 #endif
 
-#include <yaz/file_glob.h>
-
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -29,6 +27,7 @@
 
 struct yaz_xml_include_s {
     const char *confdir;
+    unsigned glob_flags;
 };
 
 typedef struct yaz_xml_include_s *yaz_xml_include_t;
@@ -101,8 +100,7 @@ static int config_include_src(yaz_xml_include_t config, xmlNode **np,
         int glob_ret;
         yaz_glob_res_t glob_res;
 
-        glob_ret = yaz_file_glob(wrbuf_cstr(w), &glob_res);
-        
+        glob_ret = yaz_file_glob2(wrbuf_cstr(w), &glob_res, config->glob_flags);
         if (glob_ret == 0)
         {
             size_t i;
@@ -116,7 +114,7 @@ static int config_include_src(yaz_xml_include_t config, xmlNode **np,
     wrbuf_printf(w, " end include src=\"%s\" ", src);
     c = xmlNewComment((const xmlChar *) wrbuf_cstr(w));
     sib = xmlAddNextSibling(sib, c);
-    
+
     *np = sib;
     wrbuf_destroy(w);
     return ret;
@@ -138,7 +136,7 @@ static int process_config_includes(yaz_xml_include_t config, xmlNode *n)
                     xmlFree(src);
                     if (ret)
                         return ret;
-                        
+
                 }
             }
             else
@@ -151,15 +149,22 @@ static int process_config_includes(yaz_xml_include_t config, xmlNode *n)
     return 0;
 }
 
-int yaz_xml_include_simple(xmlNode *n, const char *base_path)
+int yaz_xml_include_glob(xmlNode *n, const char *base_path,
+                         unsigned glob_flags)
 {
     struct yaz_xml_include_s s;
 
     s.confdir = base_path;
-    process_config_includes(&s, n);
-    return 0;
+    s.glob_flags = glob_flags;
+    return process_config_includes(&s, n);
 }
 
+int yaz_xml_include_simple(xmlNode *n, const char *base_path)
+{
+    return yaz_xml_include_glob(n, base_path, 0);
+}
+
+
 /* YAZ_HAVE_XML2 */
 #endif