summaryrefslogtreecommitdiff
path: root/reencode_compactnum.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-02-14 14:27:18 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-02-18 22:45:54 -0700
commit218edcc3878394a6942d4f72e3be99137c22825a (patch)
treebdff24c7d278da78fc65026e27586e162892aa54 /reencode_compactnum.go
parentd240d0b06c7b5711f583d961eddfc37d07d4546e (diff)
reencode: Fix trimming trailing zeros
Diffstat (limited to 'reencode_compactnum.go')
-rw-r--r--reencode_compactnum.go12
1 files changed, 5 insertions, 7 deletions
diff --git a/reencode_compactnum.go b/reencode_compactnum.go
index 5da2c54..bdf1f4e 100644
--- a/reencode_compactnum.go
+++ b/reencode_compactnum.go
@@ -33,14 +33,12 @@ func (enc *reEncodeCompactNum) HandleRune(c rune, t jsonparse.RuneType, escape B
if c == '0' && !enc.fracFirst {
enc.fracZeros++
return nil
- }
- fallthrough
- default:
- for enc.fracZeros > 0 {
- if err := enc.out.HandleRune('0', jsonparse.RuneTypeNumberFracDig, escape, stackSize); err != nil {
- return err
+ } else {
+ for ; enc.fracZeros > 0; enc.fracZeros-- {
+ if err := enc.out.HandleRune('0', jsonparse.RuneTypeNumberFracDig, escape, stackSize); err != nil {
+ return err
+ }
}
- enc.fracZeros--
}
enc.fracFirst = false
}