summaryrefslogtreecommitdiff
path: root/decode.go
diff options
context:
space:
mode:
Diffstat (limited to 'decode.go')
-rw-r--r--decode.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/decode.go b/decode.go
index 645f8de..2078f92 100644
--- a/decode.go
+++ b/decode.go
@@ -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) {