diff --git a/cram/cram_index.c b/cram/cram_index.c index 77c953d6c..b08ca5bfd 100644 --- a/cram/cram_index.c +++ b/cram/cram_index.c @@ -580,9 +580,7 @@ int cram_seek_to_refpos(cram_fd *fd, cram_range *r) { // Ideally use an index, so see if we have one. if ((e = cram_index_query(fd, r->refid, r->start, NULL))) { if (0 != cram_seek(fd, e->offset, SEEK_SET)) { - if (0 != cram_seek(fd, e->offset - fd->first_container, SEEK_CUR)) { - ret = -1; goto err; - } + ret = -1; goto err; } } else { // Absent from index, but this most likely means it simply has no data. diff --git a/cram/cram_io.c b/cram/cram_io.c index 5e5891114..0a1112b0f 100644 --- a/cram/cram_io.c +++ b/cram/cram_io.c @@ -5440,8 +5440,6 @@ cram_fd *cram_dopen(hFILE *fp, const char *filename, const char *mode) { * -1 on failure */ int cram_seek(cram_fd *fd, off_t offset, int whence) { - char buf[65536]; - fd->ooc = 0; cram_drain_rqueue(fd); @@ -5453,14 +5451,6 @@ int cram_seek(cram_fd *fd, off_t offset, int whence) { if (!(whence == SEEK_CUR && offset >= 0)) return -1; - /* Couldn't fseek, but we're in SEEK_CUR mode so read instead */ - while (offset > 0) { - int len = MIN(65536, offset); - if (len != hread(fd->fp, buf, len)) - return -1; - offset -= len; - } - return 0; }