diff --git a/src/backup/dynamic_index.rs b/src/backup/dynamic_index.rs index a0f5f74e..668a1b62 100644 --- a/src/backup/dynamic_index.rs +++ b/src/backup/dynamic_index.rs @@ -461,8 +461,7 @@ impl DynamicIndexWriter { println!("ADD CHUNK {:016x} {} {}% {} {}", self.chunk_offset, chunk_size, (compressed_size*100)/(chunk_size as u64), is_duplicate, tools::digest_to_hex(&digest)); - self.writer.write(unsafe { &std::mem::transmute::(self.chunk_offset as u64) })?; - self.writer.write(&digest)?; + self.add_chunk(self.chunk_offset as u64, &digest)?; self.chunk_buffer.truncate(0); return Ok(()); } @@ -472,6 +471,12 @@ impl DynamicIndexWriter { } } } + + pub fn add_chunk(&mut self, offset: u64, digest: &[u8; 32]) -> Result<(), std::io::Error> { + self.writer.write(unsafe { &std::mem::transmute::(offset.to_le()) })?; + self.writer.write(digest)?; + Ok(()) + } } impl Write for DynamicIndexWriter {