From: Agniva De Sarker Date: Sun, 25 Mar 2018 18:57:22 +0000 (+0530) Subject: io: document that ReadAtLeast and ReadFull can drop errors X-Git-Tag: go1.11beta1~1107 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=665af046c29eafd35460e985a10ce74b1d9d3ef8;p=gostls13.git io: document that ReadAtLeast and ReadFull can drop errors Add a note that if an error is returned after having read at least the minimum no. of bytes, the error is set to nil. Fixes #20477 Change-Id: I75ba5ee967be3ff80249e40d459da4afeeb53463 Reviewed-on: https://go-review.googlesource.com/102459 Reviewed-by: Brad Fitzpatrick --- diff --git a/src/io/io.go b/src/io/io.go index 27482de62e..3999a385c6 100644 --- a/src/io/io.go +++ b/src/io/io.go @@ -300,6 +300,7 @@ func WriteString(w Writer, s string) (n int, err error) { // ReadAtLeast returns ErrUnexpectedEOF. // If min is greater than the length of buf, ReadAtLeast returns ErrShortBuffer. // On return, n >= min if and only if err == nil. +// If r returns an error having read at least min bytes, the error is dropped. func ReadAtLeast(r Reader, buf []byte, min int) (n int, err error) { if len(buf) < min { return 0, ErrShortBuffer @@ -323,6 +324,7 @@ func ReadAtLeast(r Reader, buf []byte, min int) (n int, err error) { // If an EOF happens after reading some but not all the bytes, // ReadFull returns ErrUnexpectedEOF. // On return, n == len(buf) if and only if err == nil. +// If r returns an error having read at least len(buf) bytes, the error is dropped. func ReadFull(r Reader, buf []byte) (n int, err error) { return ReadAtLeast(r, buf, len(buf)) }