summaryrefslogtreecommitdiff
path: root/src/pkg/gob/decoder.go
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2010-06-28 14:09:47 -0700
committerRob Pike <r@golang.org>2010-06-28 14:09:47 -0700
commit38ce83e85d620f191bd6f5f7de1fe0e22ed538cf (patch)
treeb0ff633bd6547899a6df0747d8beacdf735e43b6 /src/pkg/gob/decoder.go
parent0f603c351f4cfffac3fb0b637be5664ab130083a (diff)
downloadgolang-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.go5
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
}