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);
args.add_argument("-d", "--daemon").default_value(false).implicit_value(true);
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 {
args.parse_args(argc, argv);
}
@@ -232,9 +236,11 @@ int main(int argc, char **argv)
exit(1);
}
bool verbose = args.get<bool>("--verbose");
bool asDaemon = args.get<bool>("--daemon");
auto configFile = args.get<std::string>("--config");
bool verbose = args.get<bool>("--verbose");
bool asDaemon = args.get<bool>("--daemon");
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::string config;
@@ -244,10 +250,8 @@ int main(int argc, char **argv)
rj::Document doc;
daggy::checkRJParse(doc.Parse(config.c_str()));
std::string listenIP = "127.0.0.1";
int listenPort = 2503;
size_t webThreads = 50;
size_t dagThreads = 50;
size_t webThreads = 50;
size_t dagThreads = 50;
if (doc.HasMember("ip"))
listenIP = doc["ip"].GetString();