mu-maildir: improve error handling / reporting

This commit is contained in:
Dirk-Jan C. Binnema 2022-10-30 11:27:54 +02:00
parent dbb83aaab7
commit 81bc10ebf9
1 changed files with 6 additions and 6 deletions

View File

@ -296,7 +296,7 @@ msg_move_g_file(const std::string& src, const std::string& dst)
if (res)
return Ok();
else
return Err(Error{Error::Code::File, &err,
return Err(Error{Error::Code::File, &err/*consumed*/,
"error moving %s -> %s",
src.c_str(), dst.c_str()});
}
@ -313,15 +313,15 @@ msg_move(const std::string& src, const std::string& dst, bool force_gio)
return msg_move_verify(src, dst);
if (errno != EXDEV) /* some unrecoverable error occurred */
return Err(Error{Error::Code::File, "error moving %s -> %s",
src.c_str(), dst.c_str()});
return Err(Error{Error::Code::File, "error moving %s -> %s: %s",
src.c_str(), dst.c_str(), strerror(errno)});
}
/* the EXDEV / force-gio case -- source and target live on different
* filesystems */
if (!msg_move_g_file(src, dst))
return Err(Error{Error::Code::File, "error moving %s -> %s",
src.c_str(), dst.c_str()});
auto res = msg_move_g_file(src, dst);
if (!res)
return res;
else
return msg_move_verify(src, dst);
}