summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsharkdp <davidpeter@web.de>2018-11-01 19:20:57 +0100
committersharkdp <davidpeter@web.de>2018-11-01 19:20:57 +0100
commit903d8a1c87a79646ca724de6a7e5d1776c4333db (patch)
tree3fb0b1cffb3252089fa132c3247883450bad6fe6
parent9dfb3984c656830c7a6b713074f4d965094a3fe8 (diff)
Remove usage of unwrapv0.1.0
-rw-r--r--src/main.rs38
1 files changed, 24 insertions, 14 deletions
diff --git a/src/main.rs b/src/main.rs
index 62fd088..76f0ccd 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -49,21 +49,31 @@ fn main() {
walker.run(|| {
let tx = tx.clone();
Box::new(move |result| {
- if let Ok(entry) = result {
- let metadata = entry.metadata().unwrap();
+ match result {
+ Ok(entry) => {
+ if let Ok(metadata) = entry.metadata() {
+ // If the entry has more than one hard link, generate
+ // a unique ID consisting of device and inode in order
+ // not to count this entry twice.
+ let unique_id = if metadata.is_file() && metadata.nlink() > 1 {
+ Some((metadata.dev(), metadata.ino()))
+ } else {
+ None
+ };
- // If the entry has more than one hard link, generate
- // a unique ID consisting of device and inode in order
- // not to count this entry twice.
- let unique_id = if metadata.is_file() && metadata.nlink() > 1 {
- Some((metadata.dev(), metadata.ino()))
- } else {
- None
- };
+ let size = metadata.len();
- let size = metadata.len();
-
- tx.send((unique_id, size)).unwrap();
+ tx.send((unique_id, size)).ok();
+ } else {
+ eprintln!(
+ "Could not get metadata: '{}'",
+ entry.path().to_string_lossy()
+ );
+ }
+ }
+ Err(err) => {
+ eprintln!("I/O error: {}", err);
+ }
}
return ignore::WalkState::Continue;
@@ -71,5 +81,5 @@ fn main() {
});
drop(tx);
- receiver_thread.join().unwrap();
+ receiver_thread.join().ok();
}