From 877e9f952c4465fcda718973ce5ba8af6e745bc0 Mon Sep 17 00:00:00 2001
From: Luca Bilke <luca@bil.ke>
Date: Fri, 3 May 2024 10:51:25 +0200
Subject: [PATCH] bugfix for nonexisting trashed item paths

---
 src/main.rs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

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),
     };