aboutsummaryrefslogtreecommitdiff
path: root/crates/rsli/src/compress/deflate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rsli/src/compress/deflate.rs')
-rw-r--r--crates/rsli/src/compress/deflate.rs13
1 files changed, 4 insertions, 9 deletions
diff --git a/crates/rsli/src/compress/deflate.rs b/crates/rsli/src/compress/deflate.rs
index 154e0e3..6b8ea73 100644
--- a/crates/rsli/src/compress/deflate.rs
+++ b/crates/rsli/src/compress/deflate.rs
@@ -1,19 +1,14 @@
use crate::error::Error;
use crate::Result;
-use flate2::read::{DeflateDecoder, ZlibDecoder};
+use flate2::read::DeflateDecoder;
use std::io::Read;
-/// Decode Deflate or Zlib compressed data
+/// Decode raw Deflate (RFC 1951) payload.
pub fn decode_deflate(packed: &[u8]) -> Result<Vec<u8>> {
let mut out = Vec::new();
let mut decoder = DeflateDecoder::new(packed);
- if decoder.read_to_end(&mut out).is_ok() {
- return Ok(out);
- }
-
- out.clear();
- let mut zlib = ZlibDecoder::new(packed);
- zlib.read_to_end(&mut out)
+ decoder
+ .read_to_end(&mut out)
.map_err(|_| Error::DecompressionFailed("deflate"))?;
Ok(out)
}