]> git.mikk.net Git - mtbl-rs/commitdiff
reader: support uncompression
authorChris Mikkelson <cmikk@fsi.io>
Tue, 13 Aug 2024 00:37:33 +0000 (19:37 -0500)
committerChris Mikkelson <cmikk@fsi.io>
Tue, 13 Aug 2024 00:37:33 +0000 (19:37 -0500)
src/reader/mod.rs

index 3c10bb92bbf2197a83056c05db9e1b3586b9c9be..477aef15dc99b33d5d82e24448032596e9c200f6 100644 (file)
@@ -123,9 +123,10 @@ impl<D: AsRef<[u8]>> ReaderIter<D> {
         let crc_off = self.next_offset + len_size;
         // TODO: read crc, optionally verify
         let data_off = crc_off + std::mem::size_of::<u32>();
+        let comp = self.reader.metadata.compression_algorithm;
         self.next_offset = data_off + size;
         self.data_iter.replace(
-            block::Block::new(CBuf::Buf(self.reader.data.clone_range(data_off, size)))
+            block::Block::new(comp.uncompress(self.reader.data.clone_range(data_off, size))?)
                 .expect("bad block")
                 .into_iter(),
         );