1
0
mirror of https://github.com/golang/go synced 2024-09-30 17:28:32 -06:00

archive/tar: reduce allocations in formatOctal

Change-Id: I9ddb7d2a97d28aba7a107b65f278993daf7807fa
Reviewed-on: https://go-review.googlesource.com/30960
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Joe Tsai 2016-10-12 11:36:18 -07:00 committed by Joe Tsai
parent 6da8bdd2cc
commit 14e545b60a

View File

@ -156,12 +156,11 @@ func (p *parser) parseOctal(b []byte) int64 {
return int64(x)
}
// Encode x as an octal ASCII string and write it into b with leading zeros.
func (f *formatter) formatOctal(b []byte, x int64) {
s := strconv.FormatInt(x, 8)
// leading zeros, but leave room for a NUL.
for len(s)+1 < len(b) {
s = "0" + s
// Add leading zeros, but leave room for a NUL.
if n := len(b) - len(s) - 1; n > 0 {
s = strings.Repeat("0", n) + s
}
f.formatString(b, s)
}