aboutsummaryrefslogtreecommitdiff
path: root/src/zip/file/info.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/zip/file/info.rs')
-rw-r--r--src/zip/file/info.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/zip/file/info.rs b/src/zip/file/info.rs
index bfec0b7..4e1b293 100644
--- a/src/zip/file/info.rs
+++ b/src/zip/file/info.rs
@@ -8,7 +8,9 @@ pub enum CompressionMethod {
8 Deflate, 8 Deflate,
9 BZip2, 9 BZip2,
10 Lzma, 10 Lzma,
11 Zstd,
11 Xz, 12 Xz,
13 Unsupported,
12} 14}
13 15
14impl CompressionMethod { 16impl CompressionMethod {
@@ -18,10 +20,9 @@ impl CompressionMethod {
18 8 => Ok(Self::Deflate), 20 8 => Ok(Self::Deflate),
19 12 => Ok(Self::BZip2), 21 12 => Ok(Self::BZip2),
20 14 => Ok(Self::Lzma), 22 14 => Ok(Self::Lzma),
23 93 => Ok(Self::Zstd),
21 95 => Ok(Self::Xz), 24 95 => Ok(Self::Xz),
22 1..=7 | 9..=11 | 13 | 15..=20 | 93..=94 | 96..=99 => { 25 1..=7 | 9..=11 | 13 | 15..=20 | 94 | 96..=99 => Ok(Self::Unsupported),
23 Err(ZipError::UnsupportedCompressionMethod.into())
24 }
25 21..=92 | 100.. => Err(ZipError::InvalidCompressionMethod.into()), 26 21..=92 | 100.. => Err(ZipError::InvalidCompressionMethod.into()),
26 } 27 }
27 } 28 }