From e275877d73bdf8d0c628dae6a9eaceec40d7c65f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyryl=20P=C5=82otnicki?= Date: Sun, 1 Sep 2019 22:17:51 +0100 Subject: [PATCH] Better file hasing --- src/repository.rs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/repository.rs b/src/repository.rs index 6667e07..8493b2e 100644 --- a/src/repository.rs +++ b/src/repository.rs @@ -1,5 +1,5 @@ -use std::fs; use std::path::Path; +use std::{fs, io}; use crate::error::BakareError; use crate::index::{Index, IndexIterator}; @@ -89,16 +89,9 @@ impl<'a> Repository<'a> { fn calculate_initial_version(source_path: &Path) -> Result, BakareError> { let source_file = File::open(source_path)?; let mut reader = BufReader::new(source_file); - let mut buffer = Vec::with_capacity(1024); let mut hasher = Sha512::new(); - loop { - let count = reader.read(&mut buffer)?; - if count == 0 { - break; - } - hasher.input(&buffer); - } + io::copy(&mut reader, &mut hasher)?; let version = hasher.result(); Ok(Box::from(version.as_slice()))