diff --git a/src/runtime/string.go b/src/runtime/string.go index 31518aed70..6e42483b13 100644 --- a/src/runtime/string.go +++ b/src/runtime/string.go @@ -229,8 +229,13 @@ func stringStructOf(sp *string) *stringStruct { return (*stringStruct)(unsafe.Pointer(sp)) } -func intstring(buf *[4]byte, v int64) string { - var s string +func intstring(buf *[4]byte, v int64) (s string) { + if v >= 0 && v < runeSelf { + stringStructOf(&s).str = unsafe.Pointer(&staticbytes[v]) + stringStructOf(&s).len = 1 + return + } + var b []byte if buf != nil { b = buf[:]