Files
squashfs/internal/decompress/get_decomp.go
T
Caleb Gardner 88315ee384 Fix build flags
2025-03-17 06:28:31 -05:00

35 lines
685 B
Go

//go:build !no_gpl && !no_obsolete
package decompress
import "errors"
// The types of compression supported by squashfs
const (
ZlibCompression = uint16(iota + 1)
LZMACompression
LZOCompression
XZCompression
LZ4Compression
ZSTDCompression
)
func GetDecompressor(compType uint16) (Decompressor, error) {
switch compType {
case ZlibCompression:
return Zlib{}, nil
case LZMACompression:
return Lzma{}, nil
case LZOCompression:
return Lzo{}, nil
case XZCompression:
return Xz{}, nil
case LZ4Compression:
return Lz4{}, nil
case ZSTDCompression:
return &Zstd{}, nil
default:
return nil, errors.New("invalid compression type. possible corrupted archive")
}
}