X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frecctrl.c;h=1130d011df8f80fa6665894e2a7468c4c2e8a6fc;hb=b6ff969813b5ac4c0a6b266979469b0cc24201fd;hp=e3f974699a761f240f88024564ba07cd8f056e14;hpb=3c4d4c20c0735741737e66cf8d270a87fa7eb58e;p=idzebra-moved-to-github.git diff --git a/recctrl/recctrl.c b/recctrl/recctrl.c index e3f9746..1130d01 100644 --- a/recctrl/recctrl.c +++ b/recctrl/recctrl.c @@ -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; } }