6662e02b3e6cd59ac5d015d15dd007f75dc0e176 braney Wed Oct 16 14:31:05 2013 -0700 fix a problem in pslOpen that caused a hang is the psl file only hadcomments. Add tests to pslPretty to validate diff --git src/lib/psl.c src/lib/psl.c index 65c066a..13a063d 100644 --- src/lib/psl.c +++ src/lib/psl.c @@ -525,45 +525,31 @@ qt = gfTypeFromName(words[3]); tt = gfTypeFromName(words[4]); } else { errAbort("%s is version %s of psLayout, this program can only handle through version 4", fileName, version); } for (i=0; i<4; ++i) { if (!lineFileNext(lf, &line, &lineSize)) errAbort("%s severely truncated", fileName); } } else - { - char *s = cloneString(line); - while (line != NULL && line[0] == '#') - { - freeMem(s); - lineFileNext(lf, &line, &lineSize); - s = cloneString(line); - } - wordCount = chopLine(s, words); - if (wordCount < 21 || wordCount > 23 || (words[8][0] != '+' && words[8][0] != '-')) - errAbort("%s is not a psLayout file", fileName); - else lineFileReuse(lf); - freeMem(s); - } } *retQueryType = qt; *retTargetType = tt; *retLf = lf; } static void pslxFileOpenWithMetaConfig(char *fileName, bool isMetaUnique, enum gfType *retQueryType, enum gfType *retTargetType, struct lineFile **retLf, FILE *f) /* Read header part of psl and make sure it's right. Return * sequence types and file handle and send meta data to output file f */ { char *line; int lineSize; char *words[30]; char *version; int wordCount;