3a1b00734b0c19737b48b171decfeb6b9edd27aa markd Wed May 6 18:16:34 2026 -0700 Fix issue with new htslib and access to tabix VCF header. Permanently enable tests that would have found this problem. They were disable by a non-extent USE_TABIX make vaiable. diff --git src/lib/tests/tabixFetch.c src/lib/tests/tabixFetch.c index 70c38b5fb8f..f1b8eaef7e2 100644 --- src/lib/tests/tabixFetch.c +++ src/lib/tests/tabixFetch.c @@ -22,31 +22,31 @@ "usage:\n" " tabixFetch fileOrUrl chrom:start-end\n" "Fetch lines from the specified position range from a line-based file\n" "with genomic positions that has been compressed and indexed by tabix.\n" "This duplicates the fetching functionality of the tabix program -- it\n" "was written solely to test lib/lineFile.c's tabix-wrapper mode.\n" ); } static struct optionSpec options[] = { {NULL, 0}, }; #define BAD_POS_FORMAT "Expecting position format: chrom:N-M where N and M are integers. " \ "\"%s\" doesn't match." -static void parsePosition(const char *position, char **retChrom, int *retStart, int *retEnd) +static void parsePos(const char *position, char **retChrom, int *retStart, int *retEnd) /* Do we have a lib routine for this somewhere? Too lazy to look. */ { char *posDupe = cloneString(position); char *words[3]; int wordCount = chopByChar(posDupe, ':', words, ArraySize(words)); if (wordCount != 2) errAbort(BAD_POS_FORMAT, position); *retChrom = posDupe; stripChar(words[1], ','); char *range = cloneString(words[1]); wordCount = chopByChar(range, '-', words, ArraySize(words)); if (wordCount != 2) errAbort(BAD_POS_FORMAT, position); *retStart = sqlUnsigned(words[0]) - 1; @@ -63,31 +63,31 @@ if (lf == NULL) exit(1); int lineSize; char *line = NULL; boolean gotLine = FALSE; if (0) do { gotLine = lineFileNext(lf, &line, &lineSize); puts(line); } while (gotLine && (line[0] == '#' || isEmpty(line))); char *chrom = NULL; int start, end; -parsePosition(position, &chrom, &start, &end); +parsePos(position, &chrom, &start, &end); boolean success = lineFileSetTabixRegion(lf, chrom, start, end); if (!success) printf("*** Could not set position to %s\n", position); else { printf("*** First (up to) 10 lines from query on %s:\n", position); int i; for (i=0; i < 10; i++) { if (lineFileNext(lf, &line, &lineSize)) puts(line); else break; } if (i == 0) printf("*** No lines returned from query on %s\n", position);