diff --git a/src/main.rs b/src/main.rs index 08ee04a..1991d81 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,7 +31,11 @@ fn list<P: Fn(&trash::TrashItem) -> bool>(predicate: P) -> Vec<trash::TrashItem> fn print_list(path: Option<PathBuf>) { let predicate: Box<dyn Fn(&trash::TrashItem) -> bool> = match &path { Some(p) => Box::new(|item| { - *p.canonicalize().unwrap() == item.original_parent.canonicalize().unwrap() + let orig = match item.original_parent.canonicalize() { + Ok(p) => p, + Err(_) => item.original_parent.clone(), + }; + *p.canonicalize().unwrap() == orig }), None => Box::new(|_| true), };