summaryrefslogtreecommitdiff
path: root/src/pkg/json
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-06-21 13:19:29 -0700
committerRuss Cox <rsc@golang.org>2010-06-21 13:19:29 -0700
commit4cc75513542d50e96e54b8218bf1bd375205c2d9 (patch)
treec97d37101199813a11bb01a9f0a0fcccac4bc763 /src/pkg/json
parentfa47c8634b287c59a8fb1b01880f63985356f52d (diff)
downloadgolang-4cc75513542d50e96e54b8218bf1bd375205c2d9.tar.gz
reflect: add Type.Bits method, add tags to prohibit conversions
gob: substitute slice for map R=r CC=golang-dev http://codereview.appspot.com/1699045
Diffstat (limited to 'src/pkg/json')
-rw-r--r--src/pkg/json/decode.go2
-rw-r--r--src/pkg/json/encode.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/pkg/json/decode.go b/src/pkg/json/decode.go
index 6f768d4b8..3f6965009 100644
--- a/src/pkg/json/decode.go
+++ b/src/pkg/json/decode.go
@@ -588,7 +588,7 @@ func (d *decodeState) literal(v reflect.Value) {
v.Set(n)
case *reflect.FloatValue:
- n, err := strconv.AtofN(s, int(v.Type().Size()*8))
+ n, err := strconv.AtofN(s, v.Type().Bits())
if err != nil || v.Overflow(n) {
d.saveError(&UnmarshalTypeError{"number " + s, v.Type()})
break
diff --git a/src/pkg/json/encode.go b/src/pkg/json/encode.go
index 8b0f78488..5d7ce35cb 100644
--- a/src/pkg/json/encode.go
+++ b/src/pkg/json/encode.go
@@ -162,7 +162,7 @@ func (e *encodeState) reflectValue(v reflect.Value) {
e.WriteString(strconv.Uitoa64(v.Get()))
case *reflect.FloatValue:
- e.WriteString(strconv.FtoaN(v.Get(), 'g', -1, int(v.Type().Size()*8)))
+ e.WriteString(strconv.FtoaN(v.Get(), 'g', -1, v.Type().Bits()))
case *reflect.StringValue:
e.string(v.Get())