Added a missing config file
[idzebra-moved-to-github.git] / recctrl / recctrl.c
index 2870cf3..9415233 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: recctrl.c,v 1.7 2004-09-27 10:44:50 adam Exp $
+/* $Id: recctrl.c,v 1.12 2004-09-30 08:30:05 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
    Index Data Aps
 
@@ -28,7 +28,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 #include <direntz.h>
 #include <zebrautl.h>
-#include <recctrl.h>
+#include <idzebra/recctrl.h>
 
 struct recTypeClass {
     RecType recType;
@@ -48,6 +48,24 @@ struct recTypes {
     struct recTypeInstance *entries;
 };
 
+#ifdef IDZEBRA_STATIC_TEXT
+    extern RecType idzebra_filter_text[];
+#endif
+#ifdef IDZEBRA_STATIC_GRS_XML
+#if HAVE_EXPAT_H
+    extern RecType idzebra_filter_grs_xml[];
+#endif
+#endif
+#ifdef IDZEBRA_STATIC_GRS_REGX
+    extern RecType idzebra_filter_grs_regx[];
+#endif
+#ifdef IDZEBRA_STATIC_GRS_MARC
+    extern RecType idzebra_filter_grs_marc[];
+#endif
+#ifdef IDZEBRA_STATIC_GRS_DANBIB
+    extern RecType idzebra_filter_grs_danbib[];
+#endif
+
 static void recTypeClass_add (struct recTypeClass **rts, RecType *rt,
                              NMEM nmem, void *module_handle);
 
@@ -60,27 +78,20 @@ RecTypeClass recTypeClass_create (Res res, NMEM nmem)
     extern RecType idzebra_filter_grs_sgml[];
     recTypeClass_add (&rts, idzebra_filter_grs_sgml, nmem, 0);
 #ifdef IDZEBRA_STATIC_TEXT
-    extern RecType idzebra_filter_text[];
     recTypeClass_add (&rts, idzebra_filter_text, nmem, 0);
 #endif
 #ifdef IDZEBRA_STATIC_GRS_XML
-    extern RecType idzebra_filter_grs_xml[];
+#if HAVE_EXPAT_H
     recTypeClass_add (&rts, idzebra_filter_grs_xml, nmem, 0);
 #endif
+#endif
 #ifdef IDZEBRA_STATIC_GRS_REGX
-    extern RecType idzebra_filter_grs_regx[];
     recTypeClass_add (&rts, idzebra_filter_grs_regx, nmem, 0);
 #endif
 #ifdef IDZEBRA_STATIC_GRS_MARC
-    extern RecType idzebra_filter_grs_marc[];
     recTypeClass_add (&rts, idzebra_filter_grs_marc, nmem, 0);
 #endif
-#ifdef IDZEBRA_STATIC_GRS_PERL
-    extern RecType idzebra_filter_grs_perl[];
-    recTypeClass_add (&rts, idzebra_filter_grs_perl, nmem, 0);
-#endif
 #ifdef IDZEBRA_STATIC_GRS_DANBIB
-    extern RecType idzebra_filter_grs_danbib[];
     recTypeClass_add (&rts, idzebra_filter_grs_danbib, nmem, 0);
 #endif
 
@@ -95,8 +106,7 @@ RecTypeClass recTypeClass_create (Res res, NMEM nmem)
            while ((de = readdir(dir)))
            {
                size_t dlen = strlen(de->d_name);
-               if ((de->d_type == DT_REG || de->d_type == DT_LNK) 
-                   && dlen >= 5 &&
+               if (dlen >= 5 &&
                    !memcmp(de->d_name, "mod-", 4) &&
                    !strcmp(de->d_name + dlen - 3, ".so"))
                {