cargo fmt

This commit is contained in:
holger krekel
2019-08-20 09:03:36 +02:00
parent 37d20bfb5c
commit 55b62b0b7d

View File

@@ -1182,71 +1182,71 @@ impl Imap {
dest_folder.as_ref() dest_folder.as_ref()
); );
return ImapResult::AlreadyDone; return ImapResult::AlreadyDone;
} }
info!( info!(
context,
0,
"Moving message {}/{} to {}...",
folder.as_ref(),
uid,
dest_folder.as_ref()
);
if !self.select_folder(context, Some(folder.as_ref())) {
warn!(
context, context,
0, 0,
"Moving message {}/{} to {}...", "Cannot select folder {} for moving message.",
folder.as_ref(), folder.as_ref()
uid,
dest_folder.as_ref()
); );
return if !self.should_reconnect() {
if !self.select_folder(context, Some(folder.as_ref())) { ImapResult::Failed
warn!( } else {
context, ImapResult::RetryLater
0, };
"Cannot select folder {} for moving message.", }
folder.as_ref() let set = format!("{}", uid);
); if let Some(ref mut session) = &mut *self.session.lock().unwrap() {
return if !self.should_reconnect() { match session.uid_mv(&set, &dest_folder) {
ImapResult::Failed Ok(_) => {
} else { // XXX set dest_uid properly (like it was done in C)
ImapResult::RetryLater return ImapResult::Success;
} }
} Err(err) => {
let set = format!("{}", uid); info!(
if let Some(ref mut session) = &mut *self.session.lock().unwrap() { context,
match session.uid_mv(&set, &dest_folder) { 0,
Ok(_) => { "Cannot move message, fallback to COPY/DELETE {}/{} to {}: {}",
// XXX set dest_uid properly (like it was done in C) folder.as_ref(),
return ImapResult::Success; uid,
} dest_folder.as_ref(),
Err(err) => { err
info!( );
context, }
0, }
"Cannot move message, fallback to COPY/DELETE {}/{} to {}: {}", } else {
folder.as_ref(), unreachable!();
uid, };
dest_folder.as_ref(),
err
);
}
}
} else {
unreachable!();
};
// message was NOT moved, let's try copy // message was NOT moved, let's try copy
if let Some(ref mut session) = &mut *self.session.lock().unwrap() { if let Some(ref mut session) = &mut *self.session.lock().unwrap() {
match session.uid_copy(&set, &dest_folder) { match session.uid_copy(&set, &dest_folder) {
Ok(_) => {}, Ok(_) => {}
Err(err) => { Err(err) => {
info!(context, 0, "Cannot copy message. {:?}", err); info!(context, 0, "Cannot copy message. {:?}", err);
return ImapResult::Failed;
}
}
} else {
unreachable!();
};
if self.add_flag(context, uid, "\\Deleted") {
self.config.write().unwrap().selected_folder_needs_expunge = true;
return ImapResult::Success;
}
warn!(context, 0, "Cannot mark message as \"Deleted\".",);
return ImapResult::Failed; return ImapResult::Failed;
}
}
} else {
unreachable!();
};
if self.add_flag(context, uid, "\\Deleted") {
self.config.write().unwrap().selected_folder_needs_expunge = true;
return ImapResult::Success;
}
warn!(context, 0, "Cannot mark message as \"Deleted\".",);
return ImapResult::Failed;
} }
fn add_flag<S: AsRef<str>>(&self, context: &Context, server_uid: u32, flag: S) -> bool { fn add_flag<S: AsRef<str>>(&self, context: &Context, server_uid: u32, flag: S) -> bool {
@@ -1414,80 +1414,80 @@ impl Imap {
server_uid: &mut u32, server_uid: &mut u32,
) -> ImapResult { ) -> ImapResult {
if *server_uid == 0 { if *server_uid == 0 {
return ImapResult::Failed return ImapResult::Failed;
} }
if !self.is_connected() { if !self.is_connected() {
return ImapResult::RetryLater return ImapResult::RetryLater;
} }
info!( info!(
context,
0,
"Marking message \"{}\", {}/{} for deletion...",
message_id.as_ref(),
folder.as_ref(),
server_uid,
);
if !self.select_folder(context, Some(&folder)) {
warn!(
context, context,
0, 0,
"Marking message \"{}\", {}/{} for deletion...", "Cannot select folder {} for deleting message.",
message_id.as_ref(), folder.as_ref()
folder.as_ref(),
server_uid,
); );
return ImapResult::RetryLater;
if !self.select_folder(context, Some(&folder)) { }
warn!( {
context, let set = format!("{}", server_uid);
0, if let Some(ref mut session) = &mut *self.session.lock().unwrap() {
"Cannot select folder {} for deleting message.", match session.uid_fetch(set, PREFETCH_FLAGS) {
folder.as_ref() Ok(msgs) => {
); if msgs.is_empty()
return ImapResult::RetryLater || msgs
} .first()
{ .unwrap()
let set = format!("{}", server_uid); .envelope()
if let Some(ref mut session) = &mut *self.session.lock().unwrap() { .expect("missing envelope")
match session.uid_fetch(set, PREFETCH_FLAGS) { .message_id
Ok(msgs) => { .expect("missing message id")
if msgs.is_empty() != message_id.as_ref()
|| msgs {
.first()
.unwrap()
.envelope()
.expect("missing envelope")
.message_id
.expect("missing message id")
!= message_id.as_ref()
{
warn!(
context,
0,
"Cannot delete on IMAP, {}/{} does not match {}.",
folder.as_ref(),
server_uid,
message_id.as_ref(),
);
*server_uid = 0;
return ImapResult::Failed;
}
}
Err(err) => {
eprintln!("fetch error: {:?}", err);
warn!( warn!(
context, context,
0, 0,
"Cannot delete on IMAP, {}/{} not found.", "Cannot delete on IMAP, {}/{} does not match {}.",
folder.as_ref(), folder.as_ref(),
server_uid, server_uid,
message_id.as_ref(),
); );
*server_uid = 0; *server_uid = 0;
return ImapResult::Failed; return ImapResult::Failed;
} }
} }
} Err(err) => {
// mark the message for deletion eprintln!("fetch error: {:?}", err);
if !self.add_flag(context, *server_uid, "\\Deleted") {
warn!(context, 0, "Cannot mark message as \"Deleted\"."); warn!(
return ImapResult::Failed; context,
} else { 0,
self.config.write().unwrap().selected_folder_needs_expunge = true; "Cannot delete on IMAP, {}/{} not found.",
return ImapResult::Success; folder.as_ref(),
server_uid,
);
*server_uid = 0;
return ImapResult::Failed;
}
} }
} }
// mark the message for deletion
if !self.add_flag(context, *server_uid, "\\Deleted") {
warn!(context, 0, "Cannot mark message as \"Deleted\".");
return ImapResult::Failed;
} else {
self.config.write().unwrap().selected_folder_needs_expunge = true;
return ImapResult::Success;
}
}
} }
pub fn configure_folders(&self, context: &Context, flags: libc::c_int) { pub fn configure_folders(&self, context: &Context, flags: libc::c_int) {