From ce2e45ceeca275d2d3ee66343c9c437cb2a23130 Mon Sep 17 00:00:00 2001 From: Caleb Gardner Date: Thu, 5 Jan 2023 01:29:23 -0600 Subject: [PATCH] Fixed issues with decompress.Decoder --- internal/data/fullreader.go | 2 +- internal/decompress/interface.go | 2 +- internal/decompress/lz4.go | 9 --------- internal/decompress/zstd.go | 4 ++-- 4 files changed, 4 insertions(+), 13 deletions(-) diff --git a/internal/data/fullreader.go b/internal/data/fullreader.go index 830d1fb..f0684b1 100644 --- a/internal/data/fullreader.go +++ b/internal/data/fullreader.go @@ -56,7 +56,7 @@ func (r FullReader) process(index int, offset int64, out chan outDat) { dat = make([]byte, size) _, err = r.r.ReadAt(dat, offset) if err == nil { - dat, err = dec.Decode(dat, int(r.blockSize)) + dat, err = dec.Decode(dat) } } else { rdr, err = r.d.Reader(io.LimitReader(toreader.NewReader(r.r, offset), int64(size))) diff --git a/internal/decompress/interface.go b/internal/decompress/interface.go index 0850b84..f6ac915 100644 --- a/internal/decompress/interface.go +++ b/internal/decompress/interface.go @@ -18,5 +18,5 @@ type Resetable interface { type Decoder interface { //Decodes a chunk of data all at once. - Decode(in []byte, outSize int) ([]byte, error) + Decode(in []byte) ([]byte, error) } diff --git a/internal/decompress/lz4.go b/internal/decompress/lz4.go index ebad497..2a53ac7 100644 --- a/internal/decompress/lz4.go +++ b/internal/decompress/lz4.go @@ -16,12 +16,3 @@ func (l Lz4) Reset(old, src io.Reader) error { old.(*lz4.Reader).Reset(src) return nil } - -func (l Lz4) Decode(in []byte, outSize int) (out []byte, err error) { - out = make([]byte, outSize) - outLen, err := lz4.UncompressBlock(in, out) - if outLen < outSize { - out = out[:outLen] - } - return -} diff --git a/internal/decompress/zstd.go b/internal/decompress/zstd.go index c4ba07b..dde62ff 100644 --- a/internal/decompress/zstd.go +++ b/internal/decompress/zstd.go @@ -19,9 +19,9 @@ func (z Zstd) Reset(old, src io.Reader) error { return old.(*zstd.Decoder).Reset(src) } -func (z Zstd) Decode(in []byte, outSize int) ([]byte, error) { +func (z Zstd) Decode(in []byte) ([]byte, error) { if z.writeToReader == nil { z.writeToReader, _ = zstd.NewReader(nil) } - return z.writeToReader.DecodeAll(in, make([]byte, outSize)) + return z.writeToReader.DecodeAll(in, nil) }