Files
Miloslav Trmač 5e0b7e54c0 Avoid reliance on fs.ErrClosed in SparseWriter users
Neither of the SparseWriter users actually _wants_ the underlying
WriteSeeker to be closed; so, don't.

That makes it clear where the responsibility for closing the file
lies, and allows us to remove the reliance on the destinations
reliably returning ErrClosed.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2024-03-07 14:46:12 +01:00

27 lines
528 B
Go

package compression
import (
"io"
"github.com/klauspost/compress/zstd"
)
type zstdDecompressor struct {
genericDecompressor
}
func newZstdDecompressor(compressedFilePath string) (*zstdDecompressor, error) {
d, err := newGenericDecompressor(compressedFilePath)
return &zstdDecompressor{*d}, err
}
func (d *zstdDecompressor) decompress(w io.WriteSeeker, r io.Reader) error {
zstdReader, err := zstd.NewReader(r)
if err != nil {
return err
}
defer zstdReader.Close()
return d.sparseOptimizedCopy(w, zstdReader)
}