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);