Add `eof` check

The addition of an eof check appears to cover a corner case detailed at https://github.com/BioJulia/XAM.jl/issues/31#issuecomment-787480072.

# Conflicts:
#	src/bam/overlap.jl
feature/CodecBGZF-issue-31
Ciarán O’Mara 3 years ago
parent 48ceb8d20e
commit f6e87dffa8

@ -63,7 +63,10 @@ function Base.iterate(iter::OverlapIterator, state)
while state.chunkid lastindex(state.chunks)
chunk = state.chunks[state.chunkid]
while VirtualOffset(iter.reader.stream) < chunk.stop
read!(iter.reader, state.record)
if BioGenerics.IO.tryread!(iter.reader, state.record) === nothing
# no more overlapping records in this chunk since the end of the chunk was reached.
break
end
c = compare_intervals(state.record, (state.refindex, iter.interval))
if c == 0
return copy(state.record), state

Loading…
Cancel
Save