]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/json: address go vet reports
authorEmil Hessman <emil@hessman.se>
Sat, 27 Dec 2014 19:52:17 +0000 (20:52 +0100)
committerMikio Hara <mikioh.mikioh@gmail.com>
Sun, 28 Dec 2014 10:43:37 +0000 (10:43 +0000)
The error message for decoding a unquoted value into a struct field with
the ,string option specified has two arguments when one is needed.
Make the error message take one argument and add a test in order to cover
the case when a unquoted value is specified.

Also add error value as the missing argument for Fatalf call in test.

Fixes the following go vet reports:

decode.go:602: wrong number of args for format in Errorf call: 1 needed but 2 args
decode_test.go:1088: missing argument for Fatalf("%v"): format reads arg 1, have only 0 args

Change-Id: Id036e10c54c4a7c1ee9952f6910858ecc2b84134
Reviewed-on: https://go-review.googlesource.com/2109
Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
src/encoding/json/decode.go
src/encoding/json/decode_test.go

index 705bc2e17a7e3455c588fca9a4d2556782830010..212365cede65da42c19ffc8572b44f73eb067cbf 100644 (file)
@@ -599,7 +599,7 @@ func (d *decodeState) object(v reflect.Value) {
                        case string:
                                d.literalStore([]byte(qv), subv, true)
                        default:
-                               d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v", item, v.Type()))
+                               d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v", subv.Type()))
                        }
                } else {
                        d.value(subv)
index 7235969b9fef556964823bfd2ac7550d256daada..83b9d39ad672f538c24467bfd4be63d96b0d7427 100644 (file)
@@ -688,6 +688,7 @@ var wrongStringTests = []wrongStringTest{
        {`{"result":"x"}`, `json: invalid use of ,string struct tag, trying to unmarshal "x" into string`},
        {`{"result":"foo"}`, `json: invalid use of ,string struct tag, trying to unmarshal "foo" into string`},
        {`{"result":"123"}`, `json: invalid use of ,string struct tag, trying to unmarshal "123" into string`},
+       {`{"result":123}`, `json: invalid use of ,string struct tag, trying to unmarshal unquoted value into string`},
 }
 
 // If people misuse the ,string modifier, the error message should be
@@ -1085,7 +1086,7 @@ func TestNullString(t *testing.T) {
        *s.C = 2
        err := Unmarshal(data, &s)
        if err != nil {
-               t.Fatalf("Unmarshal: %v")
+               t.Fatalf("Unmarshal: %v", err)
        }
        if s.B != 1 || s.C != nil {
                t.Fatalf("after Unmarshal, s.B=%d, s.C=%p, want 1, nil", s.B, s.C)