From: Akshat Kumar Date: Sun, 23 Sep 2012 22:30:28 +0000 (+1000) Subject: pkg/go/ast: Avoid doing zero-length writes to the fd. X-Git-Tag: go1.1rc2~2365 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=659d1df1bcd44ec6bb92f9592a8c92670d862d3c;p=gostls13.git pkg/go/ast: Avoid doing zero-length writes to the fd. After each line, ast.Print would do a zero-length write, which would hit the boundary condition on Plan 9 when reading over pipes (since message boundaries are preserved). This change makes sure we only do positive- length writes. R=rsc, rminnich, dave, r CC=golang-dev https://golang.org/cl/6558046 --- diff --git a/src/pkg/go/ast/print.go b/src/pkg/go/ast/print.go index 2de9af299e..4a1ce480f4 100644 --- a/src/pkg/go/ast/print.go +++ b/src/pkg/go/ast/print.go @@ -108,8 +108,10 @@ func (p *printer) Write(data []byte) (n int, err error) { } p.last = b } - m, err = p.output.Write(data[n:]) - n += m + if len(data) > n { + m, err = p.output.Write(data[n:]) + n += m + } return }