# HG changeset patch # User Emmanuel Gil Peyrot # Date 1609816278 -3600 # Node ID daa23a4ff24d93b259a93cb452f14f870567f8aa # Parent 21b186be259067f17ad8ee35d8550497bd79af5d utils: Replace custom SeekableSlice struct with std::io::Cursor. diff --git a/utils/src/bitstream.rs b/utils/src/bitstream.rs --- a/utils/src/bitstream.rs +++ b/utils/src/bitstream.rs @@ -72,11 +72,11 @@ impl BitStream { - slice: &'a [u8], - cursor: usize, -} - -#[cfg(test)] -impl SeekableSlice<'_> { - pub fn new(slice: &[u8]) -> SeekableSlice { - SeekableSlice { - slice, - cursor: 0, - } - } -} - -#[cfg(test)] -impl io::Read for SeekableSlice<'_> { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - let length = (&self.slice[self.cursor..]).read(buf)?; - self.cursor += length; - Ok(length) - } -} - -#[cfg(test)] -impl io::Seek for SeekableSlice<'_> { - fn seek(&mut self, seek_from: io::SeekFrom) -> io::Result { - match seek_from { - io::SeekFrom::Start(offset) => { - self.cursor = offset as usize; - } - io::SeekFrom::End(offset) => { - self.cursor = (self.slice.len() as i64 + offset) as usize; - } - io::SeekFrom::Current(offset) => { - self.cursor = (self.cursor as i64 + offset) as usize; - } - } - Ok(self.cursor as u64) - } -} diff --git a/utils/src/lzss.rs b/utils/src/lzss.rs --- a/utils/src/lzss.rs +++ b/utils/src/lzss.rs @@ -44,13 +44,13 @@ pub fn decompress