]> Cypherpunks repositories - gostls13.git/commitdiff
fmt: fix width for nil values
authorRobert Dinu <r@oktett.se>
Wed, 20 Feb 2013 22:30:15 +0000 (14:30 -0800)
committerRob Pike <r@golang.org>
Wed, 20 Feb 2013 22:30:15 +0000 (14:30 -0800)
Apply width when using Printf with nil values.
Fixes #4772.

R=r, adg
CC=golang-dev
https://golang.org/cl/7314114

src/pkg/fmt/fmt_test.go
src/pkg/fmt/print.go

index a49b339554db713e6ed839a61c4c1f7933c6af10..af4b5c8f8ef83638c56963e02c024c4afdc23a3b 100644 (file)
@@ -178,6 +178,8 @@ var fmttests = []struct {
        {"%.3q", "日本語日本語", `"日本語"`},
        {"%.3q", []byte("日本語日本語"), `"日本語"`},
        {"%10.1q", "日本語日本語", `       "日"`},
+       {"%10v", nil, "     <nil>"},
+       {"%-10v", nil, "<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, "     <nil>"},
+       {"%-10T", nil, "<nil>     "},
 
        // %p
        {"p0=%p", new(int), "p0=0xPTR"},
index 636bb5e1a1a8a19cfeff541774a688b39769ca02..7d7aa93b2a01f49958dbb6dc31d84c1dbfdd68b1 100644 (file)
@@ -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)
                }