diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-16 15:47:21 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-16 15:47:21 +0000 |
commit | 49b4e44b7d540fa846d353b10237848a67789cbf (patch) | |
tree | ea2b52e3c258d6b6d9356977c683c7f72a4a5fd5 /libgo/go/io/ioutil/ioutil.go | |
parent | 82ceb8f6a88a0193971f53e0571e017f2764f7d7 (diff) | |
download | gcc-49b4e44b7d540fa846d353b10237848a67789cbf.tar.gz |
Update Go library to r60.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178910 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/io/ioutil/ioutil.go')
-rw-r--r-- | libgo/go/io/ioutil/ioutil.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/libgo/go/io/ioutil/ioutil.go b/libgo/go/io/ioutil/ioutil.go index 5f1eecaabed..fffa1320f59 100644 --- a/libgo/go/io/ioutil/ioutil.go +++ b/libgo/go/io/ioutil/ioutil.go @@ -63,7 +63,7 @@ func WriteFile(filename string, data []byte, perm uint32) os.Error { return err } -// A dirList implements sort.Interface. +// A fileInfoList implements sort.Interface. type fileInfoList []*os.FileInfo func (f fileInfoList) Len() int { return len(f) } @@ -108,6 +108,23 @@ func (devNull) Write(p []byte) (int, os.Error) { return len(p), nil } +var blackHole = make([]byte, 8192) + +func (devNull) ReadFrom(r io.Reader) (n int64, err os.Error) { + readSize := 0 + for { + readSize, err = r.Read(blackHole) + n += int64(readSize) + if err != nil { + if err == os.EOF { + return n, nil + } + return + } + } + panic("unreachable") +} + // Discard is an io.Writer on which all Write calls succeed // without doing anything. var Discard io.Writer = devNull(0) |