+ struct recTypeClass *rts = 0;
+ const char *module_path = res_get_def(res, "modulePath",
+ DEFAULT_MODULE_PATH);
+
+ extern RecType idzebra_filter_grs_sgml[];
+ recTypeClass_add (&rts, idzebra_filter_grs_sgml, nmem, 0);
+#ifdef IDZEBRA_STATIC_TEXT
+ recTypeClass_add (&rts, idzebra_filter_text, nmem, 0);
+#endif
+#ifdef IDZEBRA_STATIC_GRS_XML
+#if HAVE_EXPAT_H
+ recTypeClass_add (&rts, idzebra_filter_grs_xml, nmem, 0);
+#endif
+#endif
+#ifdef IDZEBRA_STATIC_GRS_REGX
+ recTypeClass_add (&rts, idzebra_filter_grs_regx, nmem, 0);
+#endif
+#ifdef IDZEBRA_STATIC_GRS_MARC
+ recTypeClass_add (&rts, idzebra_filter_grs_marc, nmem, 0);
+#endif
+#ifdef IDZEBRA_STATIC_GRS_DANBIB
+ recTypeClass_add (&rts, idzebra_filter_grs_danbib, nmem, 0);
+#endif
+#ifdef IDZEBRA_STATIC_SAFARI
+ recTypeClass_add (&rts, idzebra_filter_safari, nmem, 0);
+#endif
+
+ if (module_path)
+ {
+ DIR *dir = opendir(module_path);
+ yaz_log(YLOG_LOG, "searching filters in %s", module_path);
+ if (dir)
+ {
+ struct dirent *de;