diff options
author | Jannis M. Hoffmann <jannis@fehcom.de> | 2024-12-09 13:00:49 +0100 |
---|---|---|
committer | Jannis M. Hoffmann <jannis@fehcom.de> | 2024-12-09 13:00:49 +0100 |
commit | b26eadcd2612c5d2163efa96678d00d0176bd919 (patch) | |
tree | 1e39a26e289912d43fb970b46b4ab7f952dd88c8 | |
parent | 671dd9e7a5ea3e30a89fc08389ab115b41a788e9 (diff) |
improve error messages for Remove
-rw-r--r-- | Cargo.lock | 2 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/cmd/remove.rs | 11 |
3 files changed, 10 insertions, 5 deletions
@@ -206,7 +206,7 @@ dependencies = [ [[package]] name = "jwebmail-extract" -version = "0.9.1" +version = "0.9.2" dependencies = [ "base64", "chrono", @@ -1,6 +1,6 @@ [package] name = "jwebmail-extract" -version = "0.9.1" +version = "0.9.2" authors = ["Jannis M. Hoffmann <jannis@fehcom.de>"] edition = "2021" rust-version = "1.80" 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() } |