From 1b934de04d53c430fc5e5089424c9dbc7ffa6765 Mon Sep 17 00:00:00 2001 From: Caleb Gardner Date: Sun, 19 Jun 2022 16:25:50 -0500 Subject: [PATCH] Messing with stuff --- internal/decompress/zstd.go | 17 +++++++++++++++++ internal/metadata/reader.go | 3 --- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/internal/decompress/zstd.go b/internal/decompress/zstd.go index 64a2026..4f5df6b 100644 --- a/internal/decompress/zstd.go +++ b/internal/decompress/zstd.go @@ -1,6 +1,7 @@ package decompress import ( + "bytes" "io" "github.com/klauspost/compress/zstd" @@ -12,3 +13,19 @@ func (z Zstd) Reader(src io.Reader) (io.ReadCloser, error) { r, err := zstd.NewReader(src) return r.IOReadCloser(), err } + +type ZstdDecodeAll struct { + rdr *zstd.Decoder +} + +func (z *ZstdDecodeAll) Reader(src io.Reader) (io.ReadCloser, error) { + if z.rdr == nil { + z.rdr, _ = zstd.NewReader(nil) + } + data, err := io.ReadAll(src) + if err != nil { + return nil, err + } + out, err := z.rdr.DecodeAll(data, nil) + return io.NopCloser(bytes.NewReader(out)), err +} diff --git a/internal/metadata/reader.go b/internal/metadata/reader.go index 9047b6e..4567cbe 100644 --- a/internal/metadata/reader.go +++ b/internal/metadata/reader.go @@ -61,9 +61,6 @@ func (r *Reader) Read(p []byte) (n int, err error) { p[n+i] = tmp[i] } n += tmpN - } - if err != nil { - } return }