summaryrefslogtreecommitdiff
path: root/src/cmd/remove.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/remove.rs')
-rw-r--r--src/cmd/remove.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cmd/remove.rs b/src/cmd/remove.rs
index 991c835..2779add 100644
--- a/src/cmd/remove.rs
+++ b/src/cmd/remove.rs
@@ -10,9 +10,14 @@ pub fn remove(
if let Some(p) = ms.maildir_path.read().unwrap().clone() {
let md = open_submaildir(p, &folder);
- md.delete(&mid).map_err(varlink::map_context!())?;
-
- call.reply()
+ let res = md.delete(&mid);
+ match res {
+ Err(e) if e.kind() == std::io::ErrorKind::NotFound => {
+ call.reply_invalid_mid(folder, mid)
+ }
+ Err(e) => Err(varlink::context!(e, varlink::ErrorKind::from(&e))),
+ Ok(()) => call.reply(),
+ }
} else {
call.reply_not_initialized()
}