diff options
| author | 2026-06-13 20:50:49 +0000 | |
|---|---|---|
| committer | 2026-06-13 20:50:49 +0000 | |
| commit | d4c463ccdef83dd6b6cc546f75970b314dbc9e7a (patch) | |
| tree | 967dfa5d41598e44cc923afb3264af3d066d155d | |
| parent | TODO: Object ownership is done (diff) | |
internal/compress/zlib: Pool adler32
| -rw-r--r-- | internal/compress/zlib/reader_reset.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/compress/zlib/reader_reset.go b/internal/compress/zlib/reader_reset.go index 17a8fc4e..8d641678 100644 --- a/internal/compress/zlib/reader_reset.go +++ b/internal/compress/zlib/reader_reset.go @@ -18,7 +18,7 @@ import ( // reset resets receiver to read a new zlib stream. func (z *Reader) reset(r io.Reader, dict []byte) error { - *z = Reader{decompressor: z.decompressor} + *z = Reader{decompressor: z.decompressor, digest: z.digest} var input flate.Reader if fr, ok := r.(flate.Reader); ok { @@ -96,7 +96,11 @@ func (z *Reader) reset(r io.Reader, dict []byte) error { return z.err } - z.digest = adler32.New() + if z.digest == nil { + z.digest = adler32.New() + } else { + z.digest.Reset() + } return nil } |
