Fixing argument parsing for integers

This commit is contained in:
Ian Roddis
2021-12-27 22:15:16 -04:00
parent 3c6966a9ac
commit 509a1fcd23
2 changed files with 14 additions and 9 deletions

View File

@@ -223,6 +223,10 @@ int main(int argc, char **argv)
.implicit_value(true); .implicit_value(true);
args.add_argument("-d", "--daemon").default_value(false).implicit_value(true); args.add_argument("-d", "--daemon").default_value(false).implicit_value(true);
args.add_argument("--config"); args.add_argument("--config");
args.add_argument("--ip").default_value(std::string{"127.0.0.1"});
args.add_argument("--port").default_value(2503u).action(
[](const std::string &value) -> unsigned { return std::stoul(value); });
try { try {
args.parse_args(argc, argv); args.parse_args(argc, argv);
} }
@@ -232,9 +236,11 @@ int main(int argc, char **argv)
exit(1); exit(1);
} }
bool verbose = args.get<bool>("--verbose"); bool verbose = args.get<bool>("--verbose");
bool asDaemon = args.get<bool>("--daemon"); bool asDaemon = args.get<bool>("--daemon");
auto configFile = args.get<std::string>("--config"); auto configFile = args.get<std::string>("--config");
std::string listenIP = args.get<std::string>("--ip");
auto listenPort = args.get<unsigned>("--port");
std::ifstream ifh(configFile); std::ifstream ifh(configFile);
std::string config; std::string config;
@@ -244,10 +250,8 @@ int main(int argc, char **argv)
rj::Document doc; rj::Document doc;
daggy::checkRJParse(doc.Parse(config.c_str())); daggy::checkRJParse(doc.Parse(config.c_str()));
std::string listenIP = "127.0.0.1"; size_t webThreads = 50;
int listenPort = 2503; size_t dagThreads = 50;
size_t webThreads = 50;
size_t dagThreads = 50;
if (doc.HasMember("ip")) if (doc.HasMember("ip"))
listenIP = doc["ip"].GetString(); listenIP = doc["ip"].GetString();

View File

@@ -119,7 +119,8 @@ int main(int argc, char **argv)
args.add_argument("-d", "--daemon").default_value(false).implicit_value(true); args.add_argument("-d", "--daemon").default_value(false).implicit_value(true);
args.add_argument("--config").default_value(std::string{}); args.add_argument("--config").default_value(std::string{});
args.add_argument("--ip").default_value(std::string{"127.0.0.1"}); args.add_argument("--ip").default_value(std::string{"127.0.0.1"});
args.add_argument("--port").default_value(2504u); args.add_argument("--port").default_value(2504u).action(
[](const std::string &value) -> unsigned { return std::stoul(value); });
try { try {
args.parse_args(argc, argv); args.parse_args(argc, argv);
@@ -138,7 +139,7 @@ int main(int argc, char **argv)
bool asDaemon = args.get<bool>("--daemon"); bool asDaemon = args.get<bool>("--daemon");
auto configFile = args.get<std::string>("--config"); auto configFile = args.get<std::string>("--config");
std::string listenIP = args.get<std::string>("--ip"); std::string listenIP = args.get<std::string>("--ip");
int listenPort = args.get<uint32_t>("--port"); auto listenPort = args.get<unsigned>("--port");
size_t webThreads = 50; size_t webThreads = 50;
ssize_t maxCores = std::max(1U, std::thread::hardware_concurrency() - 2); ssize_t maxCores = std::max(1U, std::thread::hardware_concurrency() - 2);
ssize_t maxMemoryMB = ssize_t maxMemoryMB =