summaryrefslogtreecommitdiff
path: root/src/lib/strings.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/strings.go')
-rw-r--r--src/lib/strings.go15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/lib/strings.go b/src/lib/strings.go
index a4e81b354..4a2184341 100644
--- a/src/lib/strings.go
+++ b/src/lib/strings.go
@@ -168,30 +168,23 @@ export func itoa(i int) string {
}
neg := false; // negative
- bigneg := false; // largest negative number
+ u := uint(i);
if i < 0 {
neg = true;
- i = -i;
- if i < 0 {
- bigneg = true; // is largest negative int
- i-- // now positive
- }
+ u = -u;
}
// Assemble decimal in reverse order.
var b [32]byte;
bp := len(b);
- for ; i > 0; i /= 10 {
+ for ; u > 0; u /= 10 {
bp--;
- b[bp] = byte(i%10) + '0'
+ b[bp] = byte(u%10) + '0'
}
if neg { // add sign
bp--;
b[bp] = '-'
}
- if bigneg { // account for i-- above
- b[len(b)-1]++
- }
// BUG return string(b[bp:len(b)])
return string((&b)[bp:len(b)])