mirror of
https://github.com/EvernodeXRPL/hpcore.git
synced 2026-04-29 15:37:59 +00:00
Fixed configuration logic issues.
This commit is contained in:
13
src/conf.cpp
13
src/conf.cpp
@@ -247,12 +247,16 @@ namespace conf
|
||||
const char *ipport_concat = v.as<const char *>();
|
||||
// Split the address:port text into two
|
||||
util::split_string(splitted_peers, ipport_concat, ":");
|
||||
if (splitted_peers.size() == 2)
|
||||
|
||||
// Push the peer address and the port to peers set
|
||||
if (splitted_peers.size() != 2)
|
||||
{
|
||||
// Push the peer address and the port to peers set
|
||||
cfg.peers.emplace(std::make_pair(splitted_peers.front(), std::stoi(splitted_peers.back())));
|
||||
splitted_peers.clear();
|
||||
std::cout << "Invalid peer: " << ipport_concat << "\n";
|
||||
return -1;
|
||||
}
|
||||
|
||||
cfg.peers.emplace(std::make_pair(splitted_peers.front(), std::stoi(splitted_peers.back())));
|
||||
splitted_peers.clear();
|
||||
}
|
||||
|
||||
cfg.unl.clear();
|
||||
@@ -379,6 +383,7 @@ namespace conf
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
std::cout << "Writing to config file failed. " << ctx.config_file << std::endl;
|
||||
ofs.close();
|
||||
return -1;
|
||||
}
|
||||
ofs.close();
|
||||
|
||||
@@ -67,12 +67,12 @@ int parse_cmd(int argc, char **argv)
|
||||
*/
|
||||
void deinit()
|
||||
{
|
||||
usr::deinit();
|
||||
p2p::deinit();
|
||||
cons::deinit();
|
||||
state_sync::deinit();
|
||||
state_serve::deinit();
|
||||
read_req::deinit();
|
||||
usr::deinit();
|
||||
p2p::deinit();
|
||||
hpfs::deinit();
|
||||
}
|
||||
|
||||
@@ -190,9 +190,8 @@ int main(int argc, char **argv)
|
||||
<< (conf::cfg.startup_mode == conf::OPERATING_MODE::OBSERVER ? "Observer" : "Proposer");
|
||||
LOG_INFO << "Public key: " << conf::cfg.pubkeyhex.substr(2); // Public key without 'ed' prefix.
|
||||
|
||||
if (hpfs::init() != 0 || read_req::init() != 0 ||
|
||||
state_serve::init() != 0 || state_sync::init() != 0 || cons::init() != 0 ||
|
||||
p2p::init() != 0 || usr::init() != 0)
|
||||
if (hpfs::init() != 0 || p2p::init() != 0 || usr::init() != 0 || read_req::init() != 0 ||
|
||||
state_serve::init() != 0 || state_sync::init() != 0 || cons::init() != 0)
|
||||
{
|
||||
deinit();
|
||||
return -1;
|
||||
|
||||
11
src/util.cpp
11
src/util.cpp
@@ -380,18 +380,21 @@ namespace util
|
||||
if (str.empty())
|
||||
return;
|
||||
|
||||
size_t start = 0U;
|
||||
size_t start = 0;
|
||||
size_t end = str.find(delimeter);
|
||||
|
||||
while (end != std::string::npos)
|
||||
{
|
||||
collection.push_back(std::string(str.substr(start, end - start)));
|
||||
// Do not add empty strings.
|
||||
if (start != end)
|
||||
collection.push_back(std::string(str.substr(start, end - start)));
|
||||
start = end + delimeter.length();
|
||||
end = str.find(delimeter, start);
|
||||
}
|
||||
|
||||
if (collection.empty())
|
||||
collection.push_back(std::string(str));
|
||||
// If there are any leftover from the source string add the remaining.
|
||||
if (start < str.size())
|
||||
collection.push_back(std::string(str.substr(start)));
|
||||
}
|
||||
|
||||
} // namespace util
|
||||
|
||||
Reference in New Issue
Block a user