mirror of
https://github.com/golang/go
synced 2024-11-23 03:30:02 -07: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:
parent
adead1a93f
commit
704401ffa0
@ -304,8 +304,8 @@ var fmtTests = []struct {
|
|||||||
{"%2s", []byte("\u263a"), " ☺"},
|
{"%2s", []byte("\u263a"), " ☺"},
|
||||||
{"%-5s", "abc", "abc "},
|
{"%-5s", "abc", "abc "},
|
||||||
{"%-5s", []byte("abc"), "abc "},
|
{"%-5s", []byte("abc"), "abc "},
|
||||||
{"%05s", "abc", "00abc"},
|
{"%05s", "abc", " abc"},
|
||||||
{"%05s", []byte("abc"), "00abc"},
|
{"%05s", []byte("abc"), " abc"},
|
||||||
{"%5s", "abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz"},
|
{"%5s", "abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz"},
|
||||||
{"%5s", []byte("abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz"},
|
{"%5s", []byte("abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz"},
|
||||||
{"%.5s", "abcdefghijklmnopqrstuvwxyz", "abcde"},
|
{"%.5s", "abcdefghijklmnopqrstuvwxyz", "abcde"},
|
||||||
|
@ -703,6 +703,11 @@ func (p *pp) printArg(arg any, verb rune) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bug fix: avoid padding strings with zeros. Issue 56486.
|
||||||
|
if verb == 's' {
|
||||||
|
p.fmt.zero = false
|
||||||
|
}
|
||||||
|
|
||||||
// Some types can be done without reflection.
|
// Some types can be done without reflection.
|
||||||
switch f := arg.(type) {
|
switch f := arg.(type) {
|
||||||
case bool:
|
case bool:
|
||||||
|
Loading…
Reference in New Issue
Block a user