1 diff -r bacb4ed5791c src/pkg/json/decode.go
2 --- a/src/pkg/json/decode.go Thu Aug 04 16:38:18 2011 +1000
3 +++ b/src/pkg/json/decode.go Mon Aug 22 16:50:36 2011 +1000
5 item := d.data[start:d.off]
7 // Check for unmarshaler.
8 + // first, check if we can do an immediate unmarshalling.
10 + unmarshaler, ok := v.Addr().Interface().(Unmarshaler)
12 + err := unmarshaler.UnmarshalJSON(item)
19 wantptr := item[0] == 'n' // null
20 unmarshaler, pv := d.indirect(v, wantptr)
21 if unmarshaler != nil {