From 75b3eed98f14d918f474f73caa3cdedd5af927ad Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 12 May 2022 08:16:57 +0800 Subject: fix: broken or non-existing root path will still print the valid results. (#124) Previously it would fail completely without printing anything. --- src/aggregate.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/aggregate.rs b/src/aggregate.rs index 2b621d9..9a2c518 100644 --- a/src/aggregate.rs +++ b/src/aggregate.rs @@ -88,7 +88,15 @@ pub fn aggregate( num_roots += 1; let mut num_bytes = 0u128; let mut num_errors = 0u64; - let device_id = crossdev::init(path.as_ref())?; + let device_id = match crossdev::init(path.as_ref()) { + Ok(id) => id, + Err(_) => { + num_errors += 1; + res.num_errors += 1; + aggregates.push((path.as_ref().to_owned(), num_bytes, num_errors)); + continue; + } + }; for entry in walk_options.iter_from_path(path.as_ref()) { stats.entries_traversed += 1; progress.throttled(|out| { -- cgit v1.2.3