diff options
Diffstat (limited to 'libgo/go/bufio/bufio.go')
-rw-r--r-- | libgo/go/bufio/bufio.go | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/libgo/go/bufio/bufio.go b/libgo/go/bufio/bufio.go index 3a4e0ed..f4ed91b 100644 --- a/libgo/go/bufio/bufio.go +++ b/libgo/go/bufio/bufio.go @@ -10,7 +10,6 @@ package bufio import ( "bytes" "io" - "os" "strconv" "utf8" ) @@ -24,20 +23,20 @@ type Error struct { ErrorString string } -func (err *Error) String() string { return err.ErrorString } +func (err *Error) Error() string { return err.ErrorString } var ( - ErrInvalidUnreadByte os.Error = &Error{"bufio: invalid use of UnreadByte"} - ErrInvalidUnreadRune os.Error = &Error{"bufio: invalid use of UnreadRune"} - ErrBufferFull os.Error = &Error{"bufio: buffer full"} - ErrNegativeCount os.Error = &Error{"bufio: negative count"} - errInternal os.Error = &Error{"bufio: internal error"} + 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"} ) // BufSizeError is the error representing an invalid buffer size. type BufSizeError int -func (b BufSizeError) String() string { +func (b BufSizeError) Error() string { return "bufio: bad buffer size " + strconv.Itoa(int(b)) } @@ -48,7 +47,7 @@ type Reader struct { buf []byte rd io.Reader r, w int - err os.Error + err error lastByte int lastRuneSize int } @@ -57,7 +56,7 @@ type Reader struct { // which must be greater than one. If the argument io.Reader is already a // Reader with large enough size, it returns the underlying Reader. // It returns the Reader and any error. -func NewReaderSize(rd io.Reader, size int) (*Reader, os.Error) { +func NewReaderSize(rd io.Reader, size int) (*Reader, error) { if size <= 1 { return nil, BufSizeError(size) } @@ -101,7 +100,7 @@ func (b *Reader) fill() { } } -func (b *Reader) readErr() os.Error { +func (b *Reader) readErr() error { err := b.err b.err = nil return err @@ -111,7 +110,7 @@ func (b *Reader) readErr() os.Error { // being valid at the next read call. If Peek returns fewer than n bytes, it // also returns an error explaining why the read is short. The error is // ErrBufferFull if n is larger than b's buffer size. -func (b *Reader) Peek(n int) ([]byte, os.Error) { +func (b *Reader) Peek(n int) ([]byte, error) { if n < 0 { return nil, ErrNegativeCount } @@ -137,7 +136,7 @@ func (b *Reader) Peek(n int) ([]byte, os.Error) { // It calls Read at most once on the underlying Reader, // hence n may be less than len(p). // At EOF, the count will be zero and err will be os.EOF. -func (b *Reader) Read(p []byte) (n int, err os.Error) { +func (b *Reader) Read(p []byte) (n int, err error) { n = len(p) if n == 0 { return 0, b.readErr() @@ -174,7 +173,7 @@ func (b *Reader) Read(p []byte) (n int, err os.Error) { // ReadByte reads and returns a single byte. // If no byte is available, returns an error. -func (b *Reader) ReadByte() (c byte, err os.Error) { +func (b *Reader) ReadByte() (c byte, err error) { b.lastRuneSize = -1 for b.w == b.r { if b.err != nil { @@ -189,7 +188,7 @@ func (b *Reader) ReadByte() (c byte, err os.Error) { } // UnreadByte unreads the last byte. Only the most recently read byte can be unread. -func (b *Reader) UnreadByte() os.Error { +func (b *Reader) UnreadByte() error { b.lastRuneSize = -1 if b.r == b.w && b.lastByte >= 0 { b.w = 1 @@ -208,7 +207,7 @@ func (b *Reader) UnreadByte() os.Error { // ReadRune reads a single UTF-8 encoded Unicode character and returns the // rune and its size in bytes. -func (b *Reader) ReadRune() (r rune, size int, err os.Error) { +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() } @@ -230,7 +229,7 @@ func (b *Reader) ReadRune() (r rune, size int, err os.Error) { // the buffer was not a ReadRune, UnreadRune returns an error. (In this // regard it is stricter than UnreadByte, which will unread the last byte // from any read operation.) -func (b *Reader) UnreadRune() os.Error { +func (b *Reader) UnreadRune() error { if b.lastRuneSize < 0 || b.r == 0 { return ErrInvalidUnreadRune } @@ -253,7 +252,7 @@ func (b *Reader) Buffered() int { return b.w - b.r } // by the next I/O operation, most clients should use // ReadBytes or ReadString instead. // ReadSlice returns err != nil if and only if line does not end in delim. -func (b *Reader) ReadSlice(delim byte) (line []byte, err os.Error) { +func (b *Reader) ReadSlice(delim byte) (line []byte, err error) { // Look in buffer. if i := bytes.IndexByte(b.buf[b.r:b.w], delim); i >= 0 { line1 := b.buf[b.r : b.r+i+1] @@ -295,7 +294,7 @@ func (b *Reader) ReadSlice(delim byte) (line []byte, err os.Error) { // of the line. The returned buffer is only valid until the next call to // ReadLine. ReadLine either returns a non-nil line or it returns an error, // never both. -func (b *Reader) ReadLine() (line []byte, isPrefix bool, err os.Error) { +func (b *Reader) ReadLine() (line []byte, isPrefix bool, err error) { line, err = b.ReadSlice('\n') if err == ErrBufferFull { // Handle the case where "\r\n" straddles the buffer. @@ -333,7 +332,7 @@ func (b *Reader) ReadLine() (line []byte, isPrefix bool, err os.Error) { // it returns the data read before the error and the error itself (often os.EOF). // ReadBytes returns err != nil if and only if the returned data does not end in // delim. -func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error) { +func (b *Reader) ReadBytes(delim byte) (line []byte, err error) { // Use ReadSlice to look for array, // accumulating full buffers. var frag []byte @@ -341,7 +340,7 @@ func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error) { err = nil for { - var e os.Error + var e error frag, e = b.ReadSlice(delim) if e == nil { // got final fragment break @@ -380,7 +379,7 @@ func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error) { // it returns the data read before the error and the error itself (often os.EOF). // ReadString returns err != nil if and only if the returned data does not end in // delim. -func (b *Reader) ReadString(delim byte) (line string, err os.Error) { +func (b *Reader) ReadString(delim byte) (line string, err error) { bytes, e := b.ReadBytes(delim) return string(bytes), e } @@ -389,7 +388,7 @@ func (b *Reader) ReadString(delim byte) (line string, err os.Error) { // Writer implements buffering for an io.Writer object. type Writer struct { - err os.Error + err error buf []byte n int wr io.Writer @@ -399,7 +398,7 @@ type Writer struct { // which must be greater than zero. If the argument io.Writer is already a // Writer with large enough size, it returns the underlying Writer. // It returns the Writer and any error. -func NewWriterSize(wr io.Writer, size int) (*Writer, os.Error) { +func NewWriterSize(wr io.Writer, size int) (*Writer, error) { if size <= 0 { return nil, BufSizeError(size) } @@ -425,7 +424,7 @@ func NewWriter(wr io.Writer) *Writer { } // Flush writes any buffered data to the underlying io.Writer. -func (b *Writer) Flush() os.Error { +func (b *Writer) Flush() error { if b.err != nil { return b.err } @@ -458,7 +457,7 @@ func (b *Writer) Buffered() int { return b.n } // It returns the number of bytes written. // If nn < len(p), it also returns an error explaining // why the write is short. -func (b *Writer) Write(p []byte) (nn int, err os.Error) { +func (b *Writer) Write(p []byte) (nn int, err error) { for len(p) > b.Available() && b.err == nil { var n int if b.Buffered() == 0 { @@ -483,7 +482,7 @@ func (b *Writer) Write(p []byte) (nn int, err os.Error) { } // WriteByte writes a single byte. -func (b *Writer) WriteByte(c byte) os.Error { +func (b *Writer) WriteByte(c byte) error { if b.err != nil { return b.err } @@ -497,7 +496,7 @@ func (b *Writer) WriteByte(c byte) os.Error { // WriteRune writes a single Unicode code point, returning // the number of bytes written and any error. -func (b *Writer) WriteRune(r rune) (size int, err os.Error) { +func (b *Writer) WriteRune(r rune) (size int, err error) { if r < utf8.RuneSelf { err = b.WriteByte(byte(r)) if err != nil { @@ -528,7 +527,7 @@ func (b *Writer) WriteRune(r rune) (size int, err os.Error) { // It returns the number of bytes written. // If the count is less than len(s), it also returns an error explaining // why the write is short. -func (b *Writer) WriteString(s string) (int, os.Error) { +func (b *Writer) WriteString(s string) (int, error) { nn := 0 for len(s) > b.Available() && b.err == nil { n := copy(b.buf[b.n:], s) |