diff --git a/AUTHORS b/AUTHORS index f3c62e178..54637535c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -18,6 +18,7 @@ DisposaBoy Frederick Mayle Gustavo Kristic Hanno Braun +Ingo Oeser James Harr Jian Zhen Julien Schmidt diff --git a/buffer.go b/buffer.go index 794ac3099..90aa38a5c 100644 --- a/buffer.go +++ b/buffer.go @@ -51,21 +51,9 @@ func (b *buffer) fill(need int) error { b.idx = 0 - for { - n, err := b.rd.Read(b.buf[b.length:]) - b.length += n - - if err == nil { - if b.length < need { - continue - } - return nil - } - if b.length >= need && err == io.EOF { - return nil - } - return err - } + n, err := io.ReadAtLeast(b.rd, b.buf[b.length:], need-b.length) + b.length += n + return err } // returns next N bytes from buffer.