Index: trunk/src_plugins/fp_fs/fp_fs.c =================================================================== --- trunk/src_plugins/fp_fs/fp_fs.c (revision 33111) +++ trunk/src_plugins/fp_fs/fp_fs.c (revision 33112) @@ -383,8 +383,19 @@ fp_search_t *ctx = (fp_search_t *) cookie; if ((strncmp(ctx->target, name, ctx->target_len) == 0) && ((! !ctx->parametric) == (type == PCB_FP_PARAMETRIC))) { const char *suffix = name + ctx->target_len; - /* ugly heuristics: footprint names may end in .fp or .ele or .subc.lht or .lht */ - if ((*suffix == '\0') || (rnd_strcasecmp(suffix, ".tdx") == 0) || (rnd_strcasecmp(suffix, ".fp") == 0) || (rnd_strcasecmp(suffix, ".ele") == 0) || (rnd_strcasecmp(suffix, ".subc.lht") == 0) || (rnd_strcasecmp(suffix, ".lht") == 0)) { + int n, found = 0; + if (*suffix != '\0') { /* footprint names may end in .fp or .ele or .subc.lht or .lht */ + for(n = 0; n < remove_regex.used; n++) { + if (re_sei_exec(remove_regex.array[n], name)) { + found = 1; + break; + } + } + } + else + found = 1; + + if (found) { ctx->path = rnd_strdup(subdir); ctx->real_name = rnd_strdup(name); return 1;