mirror of
https://github.com/golang/go.git
synced 2026-02-05 18:35:03 +03:00
fmt: don't pad strings with zeros
It's what the documentation says, and oddly it already behaves correctly for right padding, not left. (We never pad with zeros on the right.) Just don't do it. Fixes #56486 Change-Id: I2465edea93c69084e33bee0d945d5a1b85e6cd14 Reviewed-on: https://go-review.googlesource.com/c/go/+/555776 Reviewed-by: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Rob Pike <r@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
@@ -304,8 +304,8 @@ var fmtTests = []struct {
|
||||
{"%2s", []byte("\u263a"), " ☺"},
|
||||
{"%-5s", "abc", "abc "},
|
||||
{"%-5s", []byte("abc"), "abc "},
|
||||
{"%05s", "abc", "00abc"},
|
||||
{"%05s", []byte("abc"), "00abc"},
|
||||
{"%05s", "abc", " abc"},
|
||||
{"%05s", []byte("abc"), " abc"},
|
||||
{"%5s", "abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz"},
|
||||
{"%5s", []byte("abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz"},
|
||||
{"%.5s", "abcdefghijklmnopqrstuvwxyz", "abcde"},
|
||||
|
||||
@@ -703,6 +703,11 @@ func (p *pp) printArg(arg any, verb rune) {
|
||||
return
|
||||
}
|
||||
|
||||
// Bug fix: avoid padding strings with zeros. Issue 56486.
|
||||
if verb == 's' {
|
||||
p.fmt.zero = false
|
||||
}
|
||||
|
||||
// Some types can be done without reflection.
|
||||
switch f := arg.(type) {
|
||||
case bool:
|
||||
|
||||
Reference in New Issue
Block a user