3d99448b720b00eca4635e3dc8c72c73d0faa509 braney Sun Jun 29 11:26:33 2014 -0700 pslPairs has a memory trashing bug. These changes avoid the problem,without incurring any real cost. diff --git src/hg/pslPairs/pslPairs.c src/hg/pslPairs/pslPairs.c index a3ba3b1..3c84978 100644 --- src/hg/pslPairs/pslPairs.c +++ src/hg/pslPairs/pslPairs.c @@ -84,57 +84,57 @@ {"min", OPTION_INT}, {"max", OPTION_INT}, {"slopval", OPTION_INT}, {"nearTop", OPTION_FLOAT}, {"minId", OPTION_FLOAT}, {"minOrphanId", OPTION_FLOAT}, {"tInsert", OPTION_INT}, {"hardMax", OPTION_INT}, {NULL, 0} }; FILE *of, *orf, *sf, *mf, *esf, *elf; struct cloneName { - char name[32]; + char name[128]; }; struct pslAli { struct pslAli *next; int score; float id; float cov; struct psl *psl; }; struct pslPair { struct pslPair *next; struct pslAli *f; struct pslAli *r; int score; int distance; boolean orien; boolean random; }; struct clone { struct clone *next; - char name[32]; + char name[128]; struct pslAli *end1; struct pslAli *end2; struct pslPair *pairs; struct pslPair *pairsRandom; struct pslPair *pairsSlop; struct pslPair *pairsExtremeS; struct pslPair *pairsExtremeL; struct pslPair *pairsMM; boolean orphan; } *cloneList = NULL; struct hash *clones = NULL; struct hash *leftNames = NULL; struct hash *rightNames = NULL; @@ -166,30 +166,31 @@ void pslPairListFree(struct pslPair **pList) { struct pslPair *i, *next; for (i = *pList; i != NULL; i = next) { next = i->next; pslPairFree(&i); } *pList = NULL; } void cloneFree(struct clone **c) { + return; struct clone *el; if ((el = *c) == NULL) return; pslAliListFree(&(el->end1)); pslAliListFree(&(el->end2)); pslPairListFree(&(el->pairs)); freez(c); } struct pslAli *createPslAli(struct psl *psl) /* Create a pslAli element from a psl record */ { struct pslAli *pa; AllocVar(pa);