diff --git a/src/fileinfo.rs b/src/fileinfo.rs index df907f3..1eb6a5b 100644 --- a/src/fileinfo.rs +++ b/src/fileinfo.rs @@ -19,11 +19,10 @@ impl FileInfo { pub fn hash(&self, seed: i64) -> Result { let file = fs::File::open(&self.path)?; let mapper = unsafe { Mmap::map(&file)? }; - let final_hash = mapper.chunks(4096).fold(0u128, |acc, chunk: &[u8]| { - acc.wrapping_add(gxhash128(chunk, seed)) - }); - Ok(final_hash) + Ok(mapper + .chunks(4096) + .fold(0u128, |acc, chunk: &[u8]| acc ^ gxhash128(chunk, seed))) } pub fn initial_page_hash(&self, seed: i64) -> Result {