summaryrefslogtreecommitdiffstats
path: root/zutils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'zutils.cc')
-rw-r--r--zutils.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/zutils.cc b/zutils.cc
index ad5cd3e..1daa283 100644
--- a/zutils.cc
+++ b/zutils.cc
@@ -255,11 +255,14 @@ int test_format( const int infd, uint8_t magic_data[],
gzip_magic_size = 2,
lzip_magic_size = 5,
xz_magic_size = 5,
- zstd_magic_size = 4 };
+ zstd_magic_size = 4,
+ compress_magic_size = 2 };
const uint8_t bzip2_magic[bzip2_magic_size] =
{ 0x42, 0x5A, 0x68 }; // "BZh"
const uint8_t gzip_magic[gzip_magic_size] =
{ 0x1F, 0x8B };
+ const uint8_t compress_magic[compress_magic_size] =
+ { 0x1F, 0x9D };
const uint8_t lzip_magic[lzip_magic_size] =
{ 0x4C, 0x5A, 0x49, 0x50, 0x01 }; // "LZIP\001"
const uint8_t xz_magic[xz_magic_size] =
@@ -277,7 +280,8 @@ int test_format( const int infd, uint8_t magic_data[],
magic_data[3] >= '1' && magic_data[3] <= '9' &&
std::memcmp( magic_data + 4, "1AY&SY", 6 ) == 0 )
return fmt_bz2;
- if( std::memcmp( magic_data, gzip_magic, gzip_magic_size ) == 0 )
+ if( std::memcmp( magic_data, gzip_magic, gzip_magic_size ) == 0 ||
+ std::memcmp( magic_data, compress_magic, compress_magic_size ) == 0 )
return fmt_gz;
if( std::memcmp( magic_data, zstd_magic, zstd_magic_size ) == 0 )
return fmt_zst;