summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2010-05-07 13:30:13 -0700
committerRob Pike <r@golang.org>2010-05-07 13:30:13 -0700
commit817fb8699959030b6c40299b74c06d2363fac513 (patch)
treedc195a3923d3db8e8ae104770df9769aaf95db72
parent0188954799a8812b190d5a9909d0519b6e743263 (diff)
downloadgo-817fb8699959030b6c40299b74c06d2363fac513.tar.gz
gob: bug fix: errors encoding the payload were not
returned to caller. R=rsc CC=golang-dev http://codereview.appspot.com/1164041
-rw-r--r--src/pkg/gob/encoder.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/pkg/gob/encoder.go b/src/pkg/gob/encoder.go
index 308c58d30..3d217e272 100644
--- a/src/pkg/gob/encoder.go
+++ b/src/pkg/gob/encoder.go
@@ -173,8 +173,12 @@ func (enc *Encoder) Encode(e interface{}) os.Error {
encodeInt(enc.state, int64(enc.sent[rt]))
// Encode the object.
- encode(enc.state.b, e)
- enc.send()
+ err := encode(enc.state.b, e)
+ if err != nil {
+ enc.setError(err)
+ } else {
+ enc.send()
+ }
return enc.state.err
}