diff --git a/src/imap.rs b/src/imap.rs index 9a3332146..75a8019fb 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -1299,13 +1299,13 @@ impl Imap { } } - pub fn set_mdnsent>(&self, context: &Context, folder: S, uid: u32) -> usize { + pub fn set_mdnsent>(&self, context: &Context, folder: S, uid: u32) -> ImapResult { // returns 0=job should be retried later, 1=job done, 2=job done and flag just set - let mut res = DC_RETRY_LATER; + let mut res = ImapResult::RetryLater; let set = format!("{}", uid); if uid == 0 { - res = DC_FAILED; + res = ImapResult::Failed; } else if self.is_connected() { info!( context, @@ -1375,21 +1375,21 @@ impl Imap { .unwrap_or_else(|| false); res = if flag_set { - DC_ALREADY_DONE + ImapResult::AlreadyDone } else if self.add_flag(context, uid, "$MDNSent") != 0 { - DC_SUCCESS + ImapResult::Success } else { res }; - if res == DC_SUCCESS { + if res == ImapResult::Success { info!(context, "$MDNSent just set and MDN will be sent."); } else { info!(context, "$MDNSent already set and MDN already sent."); } } } else { - res = DC_SUCCESS; + res = ImapResult::Success; info!( context, "Cannot store $MDNSent flags, risk sending duplicate MDN.", @@ -1398,11 +1398,11 @@ impl Imap { } } - if res == DC_RETRY_LATER { + if res == ImapResult::RetryLater { if self.should_reconnect() { - DC_RETRY_LATER + ImapResult::RetryLater } else { - DC_FAILED + ImapResult::Failed } } else { res diff --git a/src/job.rs b/src/job.rs index cfbb9b13b..8278d2a1c 100644 --- a/src/job.rs +++ b/src/job.rs @@ -346,15 +346,14 @@ impl Job { { let folder = msg.server_folder.as_ref().unwrap(); - match inbox.set_mdnsent(context, folder, msg.server_uid) as libc::c_uint - { - 1 => { + match inbox.set_mdnsent(context, folder, msg.server_uid) { + ImapResult::RetryLater => { self.try_again_later(3i32, None); } - 3 => { + ImapResult::Success => { send_mdn(context, msg.id); } - 0 | 2 | _ => {} + ImapResult::Failed | ImapResult::AlreadyDone => {} } } }