summaryrefslogtreecommitdiff
path: root/src
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
commit57fa5e7bb717b100f4e6b169899a465daeb3068f (patch)
treedc195a3923d3db8e8ae104770df9769aaf95db72 /src
parent1ac8f4f20d29f381a21f121d8e0038af3e079d1f (diff)
downloadgolang-57fa5e7bb717b100f4e6b169899a465daeb3068f.tar.gz
gob: bug fix: errors encoding the payload were not
returned to caller. R=rsc CC=golang-dev http://codereview.appspot.com/1164041
Diffstat (limited to 'src')
-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
}