diff --git a/util.go b/util.go index 03ae87a6..0907dc0f 100644 --- a/util.go +++ b/util.go @@ -259,16 +259,13 @@ func copyN(dst io.Writer, src *bufio.Reader, n, rdSize int) (err error) { } nr := len(b) n -= nr - if nr > 0 { + for nr > 0 { nw, ew := dst.Write(b) if ew != nil { err = ew break } - if nr != nw { - err = io.ErrShortWrite - break - } + nr -= nw } if er == io.EOF { break