From 665af046c29eafd35460e985a10ce74b1d9d3ef8 Mon Sep 17 00:00:00 2001 From: Agniva De Sarker Date: Mon, 26 Mar 2018 00:27:22 +0530 Subject: [PATCH] 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 --- src/io/io.go | 2 ++ 1 file changed, 2 insertions(+) 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)) } -- 2.50.0