Rolling mods to Marc's new ranking prose. (Check in early, check in
[idzebra-moved-to-github.git] / recctrl / recctrl.c
index e3f9746..1130d01 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: recctrl.c,v 1.19 2005-03-31 12:42:07 adam Exp $
+/* $Id: recctrl.c,v 1.23 2006-04-26 11:12:31 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -56,8 +56,10 @@ static void recTypeClass_add (struct recTypeClass **rts, RecType *rt,
 RecTypeClass recTypeClass_create (Res res, NMEM nmem)
 {
     struct recTypeClass *rts = 0;
+#if HAVE_DLFCN_H
     const char *module_path = res_get_def(res, "modulePath",
                                          DEFAULT_MODULE_PATH);
+#endif
 
 #ifdef IDZEBRA_STATIC_GRS_SGML
     if (1)
@@ -96,6 +98,13 @@ RecTypeClass recTypeClass_create (Res res, NMEM nmem)
        recTypeClass_add (&rts, idzebra_filter_grs_marc, nmem, 0);
     }
 #endif
+#ifdef IDZEBRA_STATIC_GRS_CSV
+    if (1)
+    {
+       extern RecType idzebra_filter_grs_csv[];
+       recTypeClass_add (&rts, idzebra_filter_grs_csv, nmem, 0);
+    }
+#endif
 #ifdef IDZEBRA_STATIC_GRS_DANBIB
     if (1)
     {
@@ -111,12 +120,23 @@ RecTypeClass recTypeClass_create (Res res, NMEM nmem)
     }
 #endif
 #ifdef IDZEBRA_STATIC_ALVIS
+#if HAVE_XSLT
     if (1)
     {
        extern RecType idzebra_filter_alvis[];
        recTypeClass_add (&rts, idzebra_filter_alvis, nmem, 0);
     }
 #endif
+#endif
+#ifdef IDZEBRA_STATIC_XSLT
+#if HAVE_XSLT
+    if (1)
+    {
+       extern RecType idzebra_filter_xslt[];
+       recTypeClass_add (&rts, idzebra_filter_xslt, nmem, 0);
+    }
+#endif
+#endif
 
 #if HAVE_DLFCN_H
     if (module_path)
@@ -258,7 +278,11 @@ RecType recType_byName (RecTypes rts, Res res, const char *name,
                slen++;  /* skip . */
 
            if (rti->recType->config)
-               (*(rti->recType)->config)(rti->clientData, res, name+slen);
+           {
+               if ((*(rti->recType)->config)
+                   (rti->clientData, res, name+slen) != ZEBRA_OK)
+                   return 0;
+           }
            return rti->recType;
        }
     }