Fix #12 with 0 length reads. Should now be no overheads compared to 2.18 with all situations covered