From 423a263641ba549150a0353fae08979da3ae55d5 Mon Sep 17 00:00:00 2001 From: Danny McClanahan <1305167+cosmicexplorer@users.noreply.github.com> Date: Tue, 16 Jul 2024 20:33:52 -0400 Subject: [PATCH] Revert "remove now-dead code" This reverts commit fd11f2892e83928d0f00191dbc155c7d259eb83d. --- src/aes.rs | 7 +++++++ src/crc32.rs | 5 +++++ src/read/lzma.rs | 7 ++++++- src/read/xz.rs | 6 ++++++ src/zipcrypto.rs | 8 ++++++++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/aes.rs b/src/aes.rs index 1773f068f..c86a8e3a2 100644 --- a/src/aes.rs +++ b/src/aes.rs @@ -216,6 +216,13 @@ impl Read for AesReaderValid { } } +impl AesReaderValid { + /// Consumes this decoder, returning the underlying reader. + pub fn into_inner(self) -> R { + self.reader + } +} + pub struct AesWriter { writer: W, cipher: Cipher, diff --git a/src/crc32.rs b/src/crc32.rs index a62349eb6..9ad7e4b2f 100644 --- a/src/crc32.rs +++ b/src/crc32.rs @@ -31,6 +31,11 @@ impl Crc32Reader { Err("Invalid checksum") } } + + #[allow(dead_code)] + pub fn into_inner(self) -> R { + self.inner + } } impl Read for Crc32Reader { diff --git a/src/read/lzma.rs b/src/read/lzma.rs index d2b5449d6..04b6edd8e 100644 --- a/src/read/lzma.rs +++ b/src/read/lzma.rs @@ -1,6 +1,6 @@ use lzma_rs::decompress::{Options, Stream, UnpackedSize}; use std::collections::VecDeque; -use std::io::{Read, Result, Write}; +use std::io::{copy, Error, Read, Result, Write}; const COMPRESSED_BYTES_TO_BUFFER: usize = 4096; @@ -23,6 +23,11 @@ impl LzmaDecoder { stream: Stream::new_with_options(&OPTIONS, VecDeque::new()), } } + + pub fn finish(mut self) -> Result> { + copy(&mut self.compressed_reader, &mut self.stream)?; + self.stream.finish().map_err(Error::from) + } } impl Read for LzmaDecoder { diff --git a/src/read/xz.rs b/src/read/xz.rs index 339169243..478ae1024 100644 --- a/src/read/xz.rs +++ b/src/read/xz.rs @@ -262,3 +262,9 @@ impl Read for XzDecoder { Ok(written) } } + +impl XzDecoder { + pub fn into_inner(self) -> R { + self.compressed_reader.into_inner() + } +} diff --git a/src/zipcrypto.rs b/src/zipcrypto.rs index 64c4cc31d..42d0e58b6 100644 --- a/src/zipcrypto.rs +++ b/src/zipcrypto.rs @@ -202,6 +202,14 @@ impl std::io::Read for ZipCryptoReaderValid { } } +impl ZipCryptoReaderValid { + /// Consumes this decoder, returning the underlying reader. + #[allow(dead_code)] + pub fn into_inner(self) -> R { + self.reader.file + } +} + static CRCTABLE: [u32; 256] = [ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,