]> git.mikk.net Git - mtbl-rs/commitdiff
writer: fix logic error in offset tracking
authorChris Mikkelson <cmikk@fsi.io>
Thu, 8 Aug 2024 12:37:16 +0000 (06:37 -0600)
committerChris Mikkelson <cmikk@fsi.io>
Thu, 8 Aug 2024 12:37:16 +0000 (06:37 -0600)
src/writer/mod.rs

index 751870ca4493364e68ed6cfb138eebc6053a0dcc..58629147feaa84c8c96bf827becc7ca916936712 100644 (file)
@@ -15,7 +15,6 @@ pub struct Writer<W: std::io::Write> {
     meta: Metadata,
     block: BlockBuilder,
     index: BlockBuilder,
-    offset: usize,
     written: usize,
     last_key: Vec<u8>,
 }
@@ -106,7 +105,6 @@ impl<W: std::io::Write> Writer<W> {
             meta: Default::default(),
             block: BlockBuilder::default(),
             index: BlockBuilder::default(),
-            offset: 0,
             written: 0,
             last_key: Vec::new(),
         }
@@ -146,8 +144,7 @@ impl<W: std::io::Write> Writer<W> {
     fn write_block(&mut self) -> Result<()> {
         // update index entry
         let mut off_buf: [u8; 10] = Default::default();
-        let offlen = self.offset.encode_var(&mut off_buf);
-        self.offset = self.written;
+        let offlen = self.written.encode_var(&mut off_buf);
         self.index.add(self.last_key.as_slice(), &off_buf[..offlen]);
 
         // write block