diff options
| author | Valentin Popov <valentin@popov.link> | 2026-02-12 00:43:40 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-02-12 00:43:40 +0300 |
| commit | 662b292b5b47d0f7df3b19808db746bbc2ecc48c (patch) | |
| tree | df80622739c975eda645acf8754f3331cbdd1c82 /crates/rsli/src/compress/deflate.rs | |
| parent | 3410b54793c3a1808e58d0fae94fb2ebd5f81015 (diff) | |
| download | fparkan-662b292b5b47d0f7df3b19808db746bbc2ecc48c.tar.xz fparkan-662b292b5b47d0f7df3b19808db746bbc2ecc48c.zip | |
feat: обновить методы обработки данных и улучшить обработку ошибок в библиотеке
Diffstat (limited to 'crates/rsli/src/compress/deflate.rs')
| -rw-r--r-- | crates/rsli/src/compress/deflate.rs | 13 |
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) } |
