Skip to content
Snippets Groups Projects
Commit bba27adf authored by Simon Désaulniers's avatar Simon Désaulniers
Browse files

dhtnode: fix getopt optional arg parsing

parent 0f8720c4
Branches
Tags
No related merge requests found
...@@ -164,14 +164,14 @@ dht_params ...@@ -164,14 +164,14 @@ dht_params
parseArgs(int argc, char **argv) { parseArgs(int argc, char **argv) {
dht_params params; dht_params params;
int opt; int opt;
while ((opt = getopt_long(argc, argv, ":hidv:p:n:b:", long_options, nullptr)) != -1) { while ((opt = getopt_long(argc, argv, "hidv::p:n:b::", long_options, nullptr)) != -1) {
switch (opt) { switch (opt) {
case 'p': { case 'p': {
int port_arg = atoi(optarg); int port_arg = atoi(optarg);
if (port_arg >= 0 && port_arg < 0x10000) if (port_arg >= 0 && port_arg < 0x10000)
params.port = port_arg; params.port = port_arg;
else else
std::cout << "Invalid port: " << port_arg << std::endl; std::cerr << "Invalid port: " << port_arg << std::endl;
} }
break; break;
case 'n': case 'n':
...@@ -185,8 +185,7 @@ parseArgs(int argc, char **argv) { ...@@ -185,8 +185,7 @@ parseArgs(int argc, char **argv) {
ss << DHT_DEFAULT_PORT; ss << DHT_DEFAULT_PORT;
params.bootstrap.second = ss.str(); params.bootstrap.second = ss.str();
} }
} } else
else
params.is_bootstrap_node = true; params.is_bootstrap_node = true;
break; break;
case 'h': case 'h':
...@@ -203,19 +202,9 @@ parseArgs(int argc, char **argv) { ...@@ -203,19 +202,9 @@ parseArgs(int argc, char **argv) {
case 'd': case 'd':
params.daemonize = true; params.daemonize = true;
break; break;
case ':': case '?':
switch (optopt) { std::cerr << "unrecognized option -- '" << static_cast<char>(optopt) << '\'' << std::endl;
case 'b': exit(EXIT_FAILURE);
params.is_bootstrap_node = true;
break;
case 'v':
params.log = true;
break;
default:
std::cout << "option requires an argument -- '" << optopt << '\'' << std::endl;
break;
}
break;
default: default:
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment