Merge pull request #558

a004130 fix for 'failed to generate new wallet: failed to save file' error during wallet generation (Lex Kalinkin)
This commit is contained in:
Riccardo Spagni 2015-12-24 16:46:56 +02:00
commit 514aa724f4
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD

View file

@ -1293,9 +1293,11 @@ void wallet2::store()
r = epee::file_io_utils::save_string_to_file(new_file, buf); r = epee::file_io_utils::save_string_to_file(new_file, buf);
THROW_WALLET_EXCEPTION_IF(!r, error::file_save_error, new_file); THROW_WALLET_EXCEPTION_IF(!r, error::file_save_error, new_file);
boost::filesystem::remove(old_file); // probably does not exist boost::filesystem::remove(old_file); // probably does not exist
std::error_code e = tools::replace_file(m_wallet_file, old_file); if (boost::filesystem::exists(m_wallet_file)) {
THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e); std::error_code e = tools::replace_file(m_wallet_file, old_file);
e = tools::replace_file(new_file, m_wallet_file); THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e);
}
std::error_code e = tools::replace_file(new_file, m_wallet_file
THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e); THROW_WALLET_EXCEPTION_IF(e, error::file_save_error, m_wallet_file, e);
boost::filesystem::remove(old_file); boost::filesystem::remove(old_file);
} }