From 3b36acc71bff8378fb37ed8bc2f40baf2ff6d657 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 18 May 2009 11:47:35 -0700 Subject: [PATCH] move ShortWrite error into io so that other packages can use it. R=r DELTA=15 (7 added, 1 deleted, 7 changed) OCL=28996 CL=28996 --- src/lib/bufio/bufio.go | 11 +++++------ src/lib/http/server.go | 2 +- src/lib/io/io.go | 9 ++++++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/lib/bufio/bufio.go b/src/lib/bufio/bufio.go index f0e12931da..3b4aeb8202 100644 --- a/src/lib/bufio/bufio.go +++ b/src/lib/bufio/bufio.go @@ -30,11 +30,10 @@ type Error struct { } var ( - PhaseError os.Error = &Error{"phase error"}; - BufferFull os.Error = &Error{"buffer full"}; - InternalError os.Error = &Error{"bufio internal error"}; - BadBufSize os.Error = &Error{"bad bufio size"}; - ShortWrite os.Error = &Error{"short write"}; + PhaseError os.Error = &Error{"bufio: phase error"}; + BufferFull os.Error = &Error{"bufio: buffer full"}; + InternalError os.Error = &Error{"bufio: internal error"}; + BadBufSize os.Error = &Error{"bufio: bad buffer size"}; ) func copySlice(dst []byte, src []byte) { @@ -427,7 +426,7 @@ func (b *Writer) Flush() os.Error { m, e := b.wr.Write(b.buf[n:b.n]); n += m; if m == 0 && e == nil { - e = ShortWrite + e = io.ErrShortWrite } if e != nil { if n < b.n { diff --git a/src/lib/http/server.go b/src/lib/http/server.go index bdac8f188c..3758182357 100644 --- a/src/lib/http/server.go +++ b/src/lib/http/server.go @@ -177,7 +177,7 @@ func (c *Conn) Write(data []byte) (n int, err os.Error) { n, err = c.buf.Write(data); if err == nil && c.chunking { if n != len(data) { - err = bufio.ShortWrite; + err = io.ErrShortWrite; } if err == nil { io.WriteString(c.buf, "\r\n"); diff --git a/src/lib/io/io.go b/src/lib/io/io.go index b283593596..70c82d5629 100644 --- a/src/lib/io/io.go +++ b/src/lib/io/io.go @@ -13,12 +13,19 @@ import ( "os"; ) -// ErrEOF is the error returned by FullRead and Copyn when they encounter EOF. +// Error represents an unexpected I/O behavior. type Error struct { os.ErrorString } + +// ErrEOF means that data was expected, but a read got EOF instead. var ErrEOF os.Error = &Error{"EOF"} +// ErrShortWrite means that a write accepted fewer bytes than requested +// but failed to return an explicit error. +var ErrShortWrite os.Error = &Error{"short write"} + + // Reader is the interface that wraps the basic Read method. type Reader interface { Read(p []byte) (n int, err os.Error); -- 2.48.1