From: Robert Dinu Date: Wed, 20 Feb 2013 22:30:15 +0000 (-0800) Subject: fmt: fix width for nil values X-Git-Tag: go1.1rc2~942 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=cbd2c7a283b785f109dd350ef4d20dd9871d3359;p=gostls13.git fmt: fix width for nil values Apply width when using Printf with nil values. Fixes #4772. R=r, adg CC=golang-dev https://golang.org/cl/7314114 --- diff --git a/src/pkg/fmt/fmt_test.go b/src/pkg/fmt/fmt_test.go index a49b339554..af4b5c8f8e 100644 --- a/src/pkg/fmt/fmt_test.go +++ b/src/pkg/fmt/fmt_test.go @@ -178,6 +178,8 @@ var fmttests = []struct { {"%.3q", "日本語日本語", `"日本語"`}, {"%.3q", []byte("日本語日本語"), `"日本語"`}, {"%10.1q", "日本語日本語", ` "日"`}, + {"%10v", nil, " "}, + {"%-10v", nil, " "}, // integers {"%d", 12345, "12345"}, @@ -437,6 +439,8 @@ var fmttests = []struct { {"%T", renamedComplex128(4 - 3i), "fmt_test.renamedComplex128"}, {"%T", intVal, "int"}, {"%6T", &intVal, " *int"}, + {"%10T", nil, " "}, + {"%-10T", nil, " "}, // %p {"p0=%p", new(int), "p0=0xPTR"}, diff --git a/src/pkg/fmt/print.go b/src/pkg/fmt/print.go index 636bb5e1a1..7d7aa93b2a 100644 --- a/src/pkg/fmt/print.go +++ b/src/pkg/fmt/print.go @@ -729,7 +729,7 @@ func (p *pp) printField(field interface{}, verb rune, plus, goSyntax bool, depth if field == nil { if verb == 'T' || verb == 'v' { - p.buf.Write(nilAngleBytes) + p.fmt.pad(nilAngleBytes) } else { p.badVerb(verb) }