X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frecctrl.c;h=9415233d9400d5df8fd2782392b7d7a0a450af73;hb=12c6db025bffd23e760ceb31120468cf363256df;hp=9240951f625aa9c24f62161b223ae13a220a2b52;hpb=5e9aca2e8f33fe023b6b9da6df55642f96efcb50;p=idzebra-moved-to-github.git diff --git a/recctrl/recctrl.c b/recctrl/recctrl.c index 9240951..9415233 100644 --- a/recctrl/recctrl.c +++ b/recctrl/recctrl.c @@ -1,4 +1,4 @@ -/* $Id: recctrl.c,v 1.10 2004-09-28 12:52:03 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 @@ -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,25 +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 #if HAVE_EXPAT_H - extern RecType idzebra_filter_grs_xml[]; 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_DANBIB - extern RecType idzebra_filter_grs_danbib[]; recTypeClass_add (&rts, idzebra_filter_grs_danbib, nmem, 0); #endif @@ -93,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")) {