]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/json/jsontext: use bytes.Buffer.AvailableBuffer
authorJoe Tsai <joetsai@digital-static.net>
Wed, 25 Jun 2025 02:00:23 +0000 (19:00 -0700)
committerGopher Robot <gobot@golang.org>
Mon, 30 Jun 2025 23:52:53 +0000 (16:52 -0700)
This logic was added in October, 2021:

https://github.com/go-json-experiment/json/commit/0b3bd4e1ed96587be346b7f964d6bb3fcfed65f4

before the introduction of bytes.Buffer.AvailableBuffer in March, 2023.

https://go.dev/cl/474635

Updates #71845

Change-Id: I96800e1ba8fce15cc78316779db4ddcd4fe1d510
Reviewed-on: https://go-review.googlesource.com/c/go/+/685136
Reviewed-by: Damien Neil <dneil@google.com>
Auto-Submit: Joseph Tsai <joetsai@digital-static.net>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/encoding/json/jsontext/encode.go

index bb9a41f0f62f0793292bb2275c7905d770addab6..562d217fef7cbf766e232a2cd187d3699832afde 100644 (file)
@@ -114,7 +114,7 @@ func (e *encoderState) reset(b []byte, w io.Writer, opts ...Options) {
        e.state.reset()
        e.encodeBuffer = encodeBuffer{Buf: b, wr: w, bufStats: e.bufStats}
        if bb, ok := w.(*bytes.Buffer); ok && bb != nil {
-               e.Buf = bb.Bytes()[bb.Len():] // alias the unused buffer of bb
+               e.Buf = bb.AvailableBuffer() // alias the unused buffer of bb
        }
        opts2 := jsonopts.Struct{} // avoid mutating e.Struct in case it is part of opts
        opts2.Join(opts...)