fed8da255b8c4f2e63f0218992e87bf40d74b127 markd Fri Aug 11 12:20:17 2023 -0700 allow gff3 minor versions in headers diff --git src/lib/gff3.c src/lib/gff3.c index 494e823..4da2b8a 100644 --- src/lib/gff3.c +++ src/lib/gff3.c @@ -892,31 +892,31 @@ parseAnn(g3f, line); } 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"))) +if (!(sameString(line, "##gff-version") && ( sameString(ver, "3") || (startsWith("3.", ver))))) { 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);