summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go b/vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go
index 8a8102dd5..ecf120462 100644
--- a/vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go
+++ b/vendor/github.com/bytedance/sonic/internal/decoder/api/stream.go
@@ -76,11 +76,12 @@ func (self *StreamDecoder) Decode(val interface{}) (err error) {
if y := native.SkipOneFast(&src, &x); y < 0 {
if self.readMore() {
goto try_skip
- } else {
- err = SyntaxError{e, self.s, types.ParsingError(-s), ""}
- self.setErr(err)
- return
+ }
+ if self.err == nil {
+ self.err = SyntaxError{e, self.s, types.ParsingError(-s), ""}
+ self.setErr(self.err)
}
+ return self.err
} else {
s = y + s
e = x + s