diff options
-rw-r--r-- | decode.go | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -760,14 +760,15 @@ func (dec *Decoder) decode(val reflect.Value, nullOK bool) { } func (dec *Decoder) scan(out fastio.RuneWriter) { - limiter := dec.limitingScanner() + dec.io.PushReadBarrier() for { - c, _, err := limiter.ReadRune() - if err == io.EOF { - return + c, t := dec.readRune() + if t == jsonparse.RuneTypeEOF { + break } _, _ = out.WriteRune(c) } + dec.io.PopReadBarrier() } func (dec *Decoder) scanNumber(gTyp reflect.Type, out fastio.RuneWriter) { |