chore(sfm): move code inside a try block
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
surtur 2022-01-20 05:45:27 +01:00
parent 246995dab3
commit 5da8023bd3
Signed by: wanderer
GPG Key ID: 19CE1EC1D9E0486D

View File

@ -54,46 +54,46 @@ auto SeedFileManager::update_seed_file() -> void {
fortuna::SeedFileManager::RUNNING = true;
CryptoPP::SecByteBlock buff{config.seed_f_length};
{
if (!seed_file_exists()) {
fmt::print("\t[i] sfm: SEED FILE NOT PRESENT, creating...\n");
std::fstream f_stream;
f_stream.open(config.seed_f_path,
std::fstream::out | std::fstream::trunc);
f_stream << "";
f_stream.close();
return;
}
std::ifstream f_stream{config.seed_f_path, std::ios::binary};
if (!f_stream.is_open()) {
const std::string msg{"\t[!] sfm: error opening seed file!\n"};
fmt::print("{} {}\n", msg, config.seed_f_path);
fortuna::SeedFileManager::RUNNING = false;
throw std::runtime_error(msg);
}
f_stream.read(reinterpret_cast<char*>(buff.BytePtr()),
static_cast<int64_t>(config.seed_f_length));
if (static_cast<std::size_t>(f_stream.gcount()) !=
config.seed_f_length) {
const std::string msg{
"\t[!] sfm: error reading seed from file, length mismatch"};
fmt::print("{} {}, length: {} vs desired length: {}\n",
msg,
config.seed_f_path,
f_stream.gcount(),
config.seed_f_length);
fortuna::SeedFileManager::RUNNING = false;
throw std::runtime_error(msg);
}
}
try {
{
if (!seed_file_exists()) {
fmt::print("\t[i] sfm: SEED FILE NOT PRESENT, creating...\n");
std::fstream f_stream;
f_stream.open(config.seed_f_path,
std::fstream::out | std::fstream::trunc);
f_stream << "";
f_stream.close();
return;
}
std::ifstream f_stream{config.seed_f_path, std::ios::binary};
if (!f_stream.is_open()) {
const std::string msg{"\t[!] sfm: error opening seed file!\n"};
fmt::print("{} {}\n", msg, config.seed_f_path);
fortuna::SeedFileManager::RUNNING = false;
throw std::runtime_error(msg);
}
f_stream.read(reinterpret_cast<char*>(buff.BytePtr()),
static_cast<int64_t>(config.seed_f_length));
if (static_cast<std::size_t>(f_stream.gcount()) !=
config.seed_f_length) {
const std::string msg{
"\t[!] sfm: error reading seed from file, length mismatch"};
fmt::print("{} {}, length: {} vs desired length: {}\n",
msg,
config.seed_f_path,
f_stream.gcount(),
config.seed_f_length);
fortuna::SeedFileManager::RUNNING = false;
throw std::runtime_error(msg);
}
}
std::string str_buff(reinterpret_cast<const char*>(&buff[0]),
buff.SizeInBytes() *
8); // we need the size in bits