Index: src/file.c =================================================================== --- src/file.c (revision 280) +++ src/file.c (revision 281) @@ -1180,7 +1180,7 @@ * entry->AllocatedMemory points to abs path to the footprint. * entry->ListEntry points to fp name itself. */ - len = strlen(subdir) + strlen("/") + strlen(name) + 1; + len = strlen(subdir) + strlen("/") + strlen(name) + 8; entry->AllocatedMemory = (char *)calloc (1, len); strcat (entry->AllocatedMemory, subdir); strcat (entry->AllocatedMemory, PCB_DIR_SEPARATOR_S); @@ -1192,6 +1192,9 @@ /* Now place footprint name into AllocatedMemory */ strcat (entry->AllocatedMemory, name); + if (type == PCB_FP_PARAMETRIC) + strcat(entry->AllocatedMemory, "()"); + /* mark as directory tree (newlib) library */ entry->Template = (char *) -1; return 0; Index: src/libpcb_fp.c =================================================================== --- src/libpcb_fp.c (revision 280) +++ src/libpcb_fp.c (revision 281) @@ -236,7 +236,7 @@ printf("TY: %s -> %d\n", subdirentry->d_name, ty); if ((ty == PCB_FP_FILE) || (ty == PCB_FP_PARAMETRIC)) { n_footprints++; - if (cb(cookie, subdir, subdirentry->d_name, PCB_FP_FILE)) + if (cb(cookie, subdir, subdirentry->d_name, ty)) break; continue; }