mirror of
https://github.com/golang/go.git
synced 2025-11-11 14:11:04 +00:00
encoding/json: make use of Buffer.AvailableBuffer
Use the explicit API for acquiring an empty available buffer, rather than the hack that's implemented in terms of Bytes and Len. Change-Id: If286ed42693acd61ffe28dc849ed4b76c3ae4434 Reviewed-on: https://go-review.googlesource.com/c/go/+/476337 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Auto-Submit: Joseph Tsai <joetsai@digital-static.net> Run-TryBot: Joseph Tsai <joetsai@digital-static.net> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
e64e000f55
commit
2e51f6f25c
2 changed files with 5 additions and 14 deletions
|
|
@ -259,10 +259,6 @@ type encodeState struct {
|
|||
ptrSeen map[any]struct{}
|
||||
}
|
||||
|
||||
func (e *encodeState) AvailableBuffer() []byte {
|
||||
return availableBuffer(&e.Buffer)
|
||||
}
|
||||
|
||||
const startDetectingCyclesAfter = 1000
|
||||
|
||||
var encodeStatePool sync.Pool
|
||||
|
|
@ -445,7 +441,7 @@ func marshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) {
|
|||
b, err := m.MarshalJSON()
|
||||
if err == nil {
|
||||
e.Grow(len(b))
|
||||
out := availableBuffer(&e.Buffer)
|
||||
out := e.AvailableBuffer()
|
||||
out, err = appendCompact(out, b, opts.escapeHTML)
|
||||
e.Buffer.Write(out)
|
||||
}
|
||||
|
|
@ -464,7 +460,7 @@ func addrMarshalerEncoder(e *encodeState, v reflect.Value, opts encOpts) {
|
|||
b, err := m.MarshalJSON()
|
||||
if err == nil {
|
||||
e.Grow(len(b))
|
||||
out := availableBuffer(&e.Buffer)
|
||||
out := e.AvailableBuffer()
|
||||
out, err = appendCompact(out, b, opts.escapeHTML)
|
||||
e.Buffer.Write(out)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue