mirror of
https://github.com/golang/go
synced 2024-11-22 01:14:40 -07:00
buffer.go: minor optimization, expanded comment
R=r CC=golang-dev https://golang.org/cl/4169043
This commit is contained in:
parent
334f52ac49
commit
4438f50293
@ -154,17 +154,20 @@ func (b *Buffer) ReadFrom(r io.Reader) (n int64, err os.Error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// WriteTo writes data to w until the buffer is drained or an error
|
// WriteTo writes data to w until the buffer is drained or an error
|
||||||
// occurs. The return value n is the number of bytes written.
|
// occurs. The return value n is the number of bytes written; it always
|
||||||
|
// fits into an int, but it is int64 to match the io.WriterTo interface.
|
||||||
// Any error encountered during the write is also returned.
|
// Any error encountered during the write is also returned.
|
||||||
func (b *Buffer) WriteTo(w io.Writer) (n int64, err os.Error) {
|
func (b *Buffer) WriteTo(w io.Writer) (n int64, err os.Error) {
|
||||||
b.lastRead = opInvalid
|
b.lastRead = opInvalid
|
||||||
for b.off < len(b.buf) {
|
if b.off < len(b.buf) {
|
||||||
m, e := w.Write(b.buf[b.off:])
|
m, e := w.Write(b.buf[b.off:])
|
||||||
n += int64(m)
|
|
||||||
b.off += m
|
b.off += m
|
||||||
|
n = int64(m)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
return n, e
|
return n, e
|
||||||
}
|
}
|
||||||
|
// otherwise all bytes were written, by definition of
|
||||||
|
// Write method in io.Writer
|
||||||
}
|
}
|
||||||
// Buffer is now empty; reset.
|
// Buffer is now empty; reset.
|
||||||
b.Truncate(0)
|
b.Truncate(0)
|
||||||
|
Loading…
Reference in New Issue
Block a user