diff options
-rw-r--r-- | src/aggregate.rs | 2 | ||||
-rw-r--r-- | src/common.rs | 4 | ||||
-rw-r--r-- | src/traverse.rs | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/aggregate.rs b/src/aggregate.rs index 6a31445..3d3ac2d 100644 --- a/src/aggregate.rs +++ b/src/aggregate.rs @@ -84,7 +84,7 @@ pub fn aggregate( num_errors += 1; 0 } - None => unreachable!("must have populated client state for metadata"), + None => 0, // ignore directory } as u128; stats.largest_file_in_bytes = stats.largest_file_in_bytes.max(file_size); stats.smallest_file_in_bytes = stats.smallest_file_in_bytes.min(file_size); diff --git a/src/common.rs b/src/common.rs index e214f93..841e7e4 100644 --- a/src/common.rs +++ b/src/common.rs @@ -139,7 +139,9 @@ impl WalkOptions { .process_read_dir(|_, _, _, dir_entry_results| { dir_entry_results.iter_mut().for_each(|dir_entry_result| { if let Ok(dir_entry) = dir_entry_result { - dir_entry.client_state = Some(dir_entry.metadata()); + if dir_entry.file_type.is_file() { + dir_entry.client_state = Some(dir_entry.metadata()); + } } }) }) diff --git a/src/traverse.rs b/src/traverse.rs index 282c87f..7cdaf7f 100644 --- a/src/traverse.rs +++ b/src/traverse.rs @@ -135,7 +135,7 @@ impl Traversal { data.metadata_io_error = true; 0 } - None => unreachable!("must have populated client state for metadata"), + None => 0, // a directory } as u128; match (entry.depth, previous_depth) { |