Allow for bufio Readers that deliver data in chunks (like our unit test Reader)

This commit is contained in:
Maurice Makaay 2019-07-17 23:03:00 +00:00
parent 6d3eacdcae
commit 0a4e44b8f8
1 changed files with 9 additions and 5 deletions

View File

@ -157,12 +157,16 @@ func (buf *Buffer) fill(minBytes int) {
} }
buf.grow(minBytes) buf.grow(minBytes)
for bufLen < minBytes {
n, err := buf.bufio.Read(buf.buffer[bufLen:cap(buf.buffer)]) n, err := buf.bufio.Read(buf.buffer[bufLen:cap(buf.buffer)])
buf.buffer = buf.buffer[:bufLen+n] bufLen += n
buf.buffer = buf.buffer[:bufLen]
if err != nil { if err != nil {
buf.err = err buf.err = err
buf.errOffset = bufLen + n buf.errOffset = bufLen
break
}
} }
} }