diff options
author | Rob Pike <r@golang.org> | 2010-06-28 14:09:47 -0700 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2010-06-28 14:09:47 -0700 |
commit | 38ce83e85d620f191bd6f5f7de1fe0e22ed538cf (patch) | |
tree | b0ff633bd6547899a6df0747d8beacdf735e43b6 /src/pkg/gob/decoder.go | |
parent | 0f603c351f4cfffac3fb0b637be5664ab130083a (diff) | |
download | golang-38ce83e85d620f191bd6f5f7de1fe0e22ed538cf.tar.gz |
gob: allow transmission of things other than structs at the top level.
also fix a bug handling nil maps: before, would needlessly send empty map
R=rsc
CC=golang-dev
http://codereview.appspot.com/1739043
Diffstat (limited to 'src/pkg/gob/decoder.go')
-rw-r--r-- | src/pkg/gob/decoder.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/pkg/gob/decoder.go b/src/pkg/gob/decoder.go index 90dc2e34c..caec51712 100644 --- a/src/pkg/gob/decoder.go +++ b/src/pkg/gob/decoder.go @@ -108,8 +108,9 @@ func (dec *Decoder) Decode(e interface{}) os.Error { } // No, it's a value. - // Make sure the type has been defined already. - if dec.wireType[id] == nil { + // Make sure the type has been defined already or is a builtin type (for + // top-level singleton values). + if dec.wireType[id] == nil && builtinIdToType[id] == nil { dec.state.err = errBadType break } |