Pārlūkot izejas kodu

Fixed a bug where the inner offset was not being calculated
correctly by `Trailered`.

Matthew Carr 2 gadi atpakaļ
vecāks
revīzija
bc0e4fe298
1 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 2 1
      crates/btlib/src/trailered.rs

+ 2 - 1
crates/btlib/src/trailered.rs

@@ -95,7 +95,8 @@ mod private {
             self.inner.seek(SeekFrom::Start(self.body_len))?;
             self.write_buf.clear();
             write_to(trailer, &mut self.write_buf)?;
-            let offset_u64 = 8 + self.inner.stream_position()? - self.body_len;
+            let offset_u64 =
+                8 + self.inner.stream_position()? + self.write_buf.len() as u64 - self.body_len;
             let offset = -(offset_u64 as i64);
             write_to(&offset, &mut self.write_buf)?;
             self.inner.write_all(&self.write_buf)?;