1
0
mirror of https://github.com/golang/go synced 2024-11-12 08:40:21 -07:00

go/printer: fix sync bug - avoid sending on errors twice -

and report node type in error

R=gri
DELTA=4  (3 added, 0 deleted, 1 changed)
OCL=34949
CL=34955
This commit is contained in:
Russ Cox 2009-09-24 01:37:27 -07:00
parent b817e97961
commit f0964a54fb

View File

@ -14,6 +14,7 @@ import (
"io";
"os";
"reflect";
"runtime";
"strings";
"tabwriter";
)
@ -105,6 +106,7 @@ func (p *printer) write0(data []byte) {
p.written += n;
if err != nil {
p.errors <- err;
runtime.Goexit();
}
}
@ -1402,7 +1404,8 @@ func Fprint(output io.Writer, node interface{}, mode uint, tabwidth int) (int, o
p.comment = n.Comments;
p.file(n);
default:
p.errors <- os.NewError("unsupported node type");
p.errors <- os.NewError(fmt.Sprintf("unsupported node type %T", n));
runtime.Goexit();
}
p.flush(inf);
p.errors <- nil; // no errors