diff options
author | Rob Pike <r@golang.org> | 2012-02-07 16:15:03 +1100 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2012-02-07 16:15:03 +1100 |
commit | 38b8f6c7a427978968452234e10c0b214b862c8c (patch) | |
tree | f35e8b952d8ccc19e1eec34f8b8e2e3c46693d9c | |
parent | eb039a80456105d7a3df99589982215f1200152a (diff) | |
download | go-38b8f6c7a427978968452234e10c0b214b862c8c.tar.gz go-38b8f6c7a427978968452234e10c0b214b862c8c.zip |
bufio: remove special error type, update docs
Updates #2836.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5639045
-rw-r--r-- | src/pkg/bufio/bufio.go | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/pkg/bufio/bufio.go b/src/pkg/bufio/bufio.go index 907a9dcb71..d421152f67 100644 --- a/src/pkg/bufio/bufio.go +++ b/src/pkg/bufio/bufio.go @@ -9,6 +9,7 @@ package bufio import ( "bytes" + "errors" "io" "strconv" "unicode/utf8" @@ -18,19 +19,12 @@ const ( defaultBufSize = 4096 ) -// Errors introduced by this package. -type Error struct { - ErrorString string -} - -func (err *Error) Error() string { return err.ErrorString } - var ( - ErrInvalidUnreadByte error = &Error{"bufio: invalid use of UnreadByte"} - ErrInvalidUnreadRune error = &Error{"bufio: invalid use of UnreadRune"} - ErrBufferFull error = &Error{"bufio: buffer full"} - ErrNegativeCount error = &Error{"bufio: negative count"} - errInternal error = &Error{"bufio: internal error"} + ErrInvalidUnreadByte = errors.New("bufio: invalid use of UnreadByte") + ErrInvalidUnreadRune = errors.New("bufio: invalid use of UnreadRune") + ErrBufferFull = errors.New("bufio: buffer full") + ErrNegativeCount = errors.New("bufio: negative count") + errInternal = errors.New("bufio: internal error") ) // BufSizeError is the error representing an invalid buffer size. @@ -208,7 +202,8 @@ func (b *Reader) UnreadByte() error { } // ReadRune reads a single UTF-8 encoded Unicode character and returns the -// rune and its size in bytes. +// rune and its size in bytes. If the encoded rune is invalid, it consumes one byte +// and returns unicode.ReplacementChar (U+FFFD) with a size of 1. func (b *Reader) ReadRune() (r rune, size int, err error) { for b.r+utf8.UTFMax > b.w && !utf8.FullRune(b.buf[b.r:b.w]) && b.err == nil { b.fill() @@ -392,6 +387,8 @@ func (b *Reader) ReadString(delim byte) (line string, err error) { // buffered output // Writer implements buffering for an io.Writer object. +// If an error occurs writing to a Writer, no more data will be +// accepted and all subsequent writes will return the error. type Writer struct { err error buf []byte |