aboutsummaryrefslogtreecommitdiff
path: root/crates/rsli/src/compress/deflate.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-02-12 00:43:40 +0300
committerValentin Popov <valentin@popov.link>2026-02-12 00:43:40 +0300
commit662b292b5b47d0f7df3b19808db746bbc2ecc48c (patch)
treedf80622739c975eda645acf8754f3331cbdd1c82 /crates/rsli/src/compress/deflate.rs
parent3410b54793c3a1808e58d0fae94fb2ebd5f81015 (diff)
downloadfparkan-662b292b5b47d0f7df3b19808db746bbc2ecc48c.tar.xz
fparkan-662b292b5b47d0f7df3b19808db746bbc2ecc48c.zip
feat: обновить методы обработки данных и улучшить обработку ошибок в библиотеке
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)
}