1e54c858757a7173968fb3083de89e534716dde0 markd Mon Mar 8 15:32:16 2021 -0800 don't create confusing cascade of error when GFF3 header is missing or not a GFF3 file diff --git src/lib/gff3.c src/lib/gff3.c index 6b8179b..ceadb7b 100644 --- src/lib/gff3.c +++ src/lib/gff3.c @@ -885,31 +885,34 @@ } static void parseHeader(struct gff3File *g3f) /* parse and validate a GFF3 header */ { char *line; if (!lineFileNext(g3f->lf, &line, NULL)) gff3FileErr(g3f, FALSE, "empty GFF file, must have header"); char *ver = skipToSpaces(line); if ((ver != NULL) && (*ver != '\0')) { *ver++ = '\0'; ver = trimSpaces(ver); } if (!(sameString(line, "##gff-version") && sameString(ver, "3"))) - gff3FileErr(g3f, TRUE, "invalid GFF3 header"); + { + gff3FileErr(g3f, FALSE, "invalid GFF3 header"); + errAbort("may not be a GFF3 file"); + } } static void parseFile(struct gff3File *g3f) /* do parsing phase of reading a GFF3 file */ { g3f->lf = lineFileOpen(g3f->fileName, TRUE); parseHeader(g3f); char *line; while (lineFileNext(g3f->lf, &line, NULL)) { parseLine(g3f, line); if (gff3FileStopDueToErrors(g3f)) break; } lineFileClose(&g3f->lf);