rc_zip/fsm/entry/
store_dec.rs

1use std::cmp;
2
3use crate::Error;
4
5use super::{DecompressOutcome, Decompressor, HasMoreInput};
6
7#[derive(Default)]
8pub(crate) struct StoreDec;
9
10impl Decompressor for StoreDec {
11    fn decompress(
12        &mut self,
13        in_buf: &[u8],
14        out_buf: &mut [u8],
15        _has_more_input: HasMoreInput,
16    ) -> Result<DecompressOutcome, Error> {
17        let len = cmp::min(in_buf.len(), out_buf.len());
18        out_buf[..len].copy_from_slice(&in_buf[..len]);
19        Ok(DecompressOutcome {
20            bytes_read: len,
21            bytes_written: len,
22        })
23    }
24}