tools: fix dnc argument
Change-Id: I12ac7e224bac1f8225f50d9398a9ff755e73ba29
diff --git a/tools/dnc/main.cpp b/tools/dnc/main.cpp
index b6f4cbe..6f8bad7 100644
--- a/tools/dnc/main.cpp
+++ b/tools/dnc/main.cpp
@@ -46,7 +46,7 @@
};
static const constexpr struct option long_options[] = {{"help", no_argument, nullptr, 'h'},
- {"version", no_argument, nullptr, 'V'},
+ {"version", no_argument, nullptr, 'v'},
{"port", required_argument, nullptr, 'p'},
{"ip", required_argument, nullptr, 'i'},
{"listen", no_argument, nullptr, 'l'},
@@ -63,13 +63,12 @@
{
dhtnc_params params;
int opt;
- while ((opt = getopt_long(argc, argv, "hVlw:r:u:t:I:b:p:i:", long_options, nullptr)) != -1) {
- // fmt::print("opt: {} {}\n", opt, optarg);
+ while ((opt = getopt_long(argc, argv, "hvlw:r:u:t:I:b:p:i:", long_options, nullptr)) != -1) {
switch (opt) {
case 'h':
params.help = true;
break;
- case 'V':
+ case 'v':
params.version = true;
break;
case 'p':
@@ -106,7 +105,7 @@
}
// If not listening, the peer_id argument is required
- if (!params.listen) {
+ if (!params.listen && !params.help && !params.version) {
if (optind < argc) {
params.peer_id = dht::InfoHash(argv[optind]);
optind++; // Move to the next argument
@@ -152,9 +151,31 @@
int
main(int argc, char** argv)
{
- fmt::print("dnc 1.0\n");
setSipLogLevel();
auto params = parse_args(argc, argv);
+
+ if (params.help ){
+ fmt::print("Usage: dnc [options] [PEER_ID]\n"
+ "\nOptions:\n"
+ " -h, --help Show this help message and exit.\n"
+ " -v, --version Display the program version.\n"
+ " -p, --port Specify the port option with an argument.\n"
+ " -i, --ip Specify the ip option with an argument.\n"
+ " -l, --listen Start the program in listen mode.\n"
+ " -b, --bootstrap Specify the bootstrap option with an argument.\n"
+ " -I, --id_path Specify the id_path option with an argument.\n"
+ " -t, --turn_host Specify the turn_host option with an argument.\n"
+ " -u, --turn_user Specify the turn_user option with an argument.\n"
+ " -w, --turn_pass Specify the turn_pass option with an argument.\n"
+ " -r, --turn_realm Specify the turn_realm option with an argument.\n");
+ return EXIT_SUCCESS;
+ }
+ if (params.version) {
+ fmt::print("dnc v1.0\n");
+ return EXIT_SUCCESS;
+ }
+
+ fmt::print("dnc 1.0\n");
auto identity = dhtnet::loadIdentity(params.path);
fmt::print("Loaded identity: {} from {}\n", identity.second->getId(), params.path);