Index: fp_fs.c =================================================================== --- fp_fs.c (revision 32716) +++ fp_fs.c (revision 32717) @@ -56,10 +56,8 @@ #include "fp_fs_conf.h" #define FP_FS_CONF_FN "ar_extern.conf" -conf_fp_fs_t conf_fp_fs; +static conf_fp_fs_t conf_fp_fs; -static const char *fp_fs_cookie = "fp_fs plugin"; - #include "conf_internal.c" /*** low level map cache ***/ @@ -171,12 +169,25 @@ TODO("fp: make this a configurable list") static int fp_fs_ignore_fn(const char *fn, int len) { - if (fn[0] == '.') return 1; - if (RND_NSTRCMP(fn, "CVS") == 0) return 1; - if (RND_NSTRCMP(fn, "Makefile") == 0) return 1; - if (RND_NSTRCMP(fn, "Makefile.am") == 0) return 1; - if (RND_NSTRCMP(fn, "Makefile.in") == 0) return 1; - + int n; + rnd_conf_listitem_t *ci; + const char *p; + + if (fn == NULL) return 1; + + if (fn[0] == '.') { /* do not depend on config in avoiding infinite recursion on . and .. */ + if (fn[1] == '\0') return 1; + if ((fn[1] == '.') && (fn[2] == '\0')) return 1; + } + + rnd_conf_loop_list_str(&conf_fp_fs.plugins.fp_fs.ignore_prefix, ci, p, n) { + const char *s1, *s2; + for(s1 = fn, s2 = p; *s1 == *s2; s1++, s2++) { + if (*s2 == '\0') return 1; + if (*s1 == '\0') break; + } + } + if ((len >= 4) && (RND_NSTRCMP(fn + (len - 4), ".png") == 0)) return 1; if ((len >= 4) && (RND_NSTRCMP(fn + (len - 4), ".pcb") == 0)) return 1; if ((len >= 5) && (RND_NSTRCMP(fn + (len - 5), ".html") == 0)) return 1; @@ -248,7 +259,10 @@ may exist in a library tree to provide an html browsable index of the library. */ l = strlen(subdirentry->d_name); - if (fp_fs_ignore_fn(subdirentry->d_name, l)) continue; + if (fp_fs_ignore_fn(subdirentry->d_name, l)) { + printf("ignored: '%s'\n", subdirentry->d_name); + continue; + } if (stat(subdirentry->d_name, &buffer) == 0) { strcpy(fn_end, subdirentry->d_name); if ((S_ISREG(buffer.st_mode)) || (RND_WRAP_S_ISLNK(buffer.st_mode))) { Index: fp_fs.conf =================================================================== --- fp_fs.conf (revision 32716) +++ fp_fs.conf (revision 32717) @@ -2,11 +2,11 @@ ha:overwrite { ha:plugins { ha:fp_fs { - li:ingore_prefix { + li:ignore_prefix { . Makefile } - li:ingore_suffix { + li:ignore_suffix { .png .html .pcb