From 2f8e5a5f88b0d744fe0c7c13b53e363d38124d88 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Wed, 8 Feb 2012 11:40:56 +1100 Subject: [PATCH] io/ioutil: document EOF behavior in ReadFile and ReadAll Fixes #2862. R=golang-dev, n13m3y3r, iant CC=golang-dev https://golang.org/cl/5646048 --- src/pkg/io/ioutil/ioutil.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pkg/io/ioutil/ioutil.go b/src/pkg/io/ioutil/ioutil.go index cbe1a5839d..180afc2c22 100644 --- a/src/pkg/io/ioutil/ioutil.go +++ b/src/pkg/io/ioutil/ioutil.go @@ -34,11 +34,17 @@ func readAll(r io.Reader, capacity int64) (b []byte, err error) { } // ReadAll reads from r until an error or EOF and returns the data it read. +// A successful call returns err == nil, not err == EOF. Because ReadAll is +// defined to read from src until EOF, it does not treat an EOF from Read +// as an error to be reported. func ReadAll(r io.Reader) ([]byte, error) { return readAll(r, bytes.MinRead) } // ReadFile reads the file named by filename and returns the contents. +// A successful call returns err == nil, not err == EOF. Because ReadFile +// reads the whole file, it does not treat an EOF from Read as an error +// to be reported. func ReadFile(filename string) ([]byte, error) { f, err := os.Open(filename) if err != nil { -- 2.48.1