diff options
author | Rob Savoye <rob.savoye@linaro.org> | 2014-07-09 21:51:04 -0600 |
---|---|---|
committer | Rob Savoye <rob.savoye@linaro.org> | 2014-07-09 21:51:04 -0600 |
commit | cfcefce97f0432a93e668aeb73db62124ac274b7 (patch) | |
tree | 69c7acac32dc53a79a3e088234970f351521dcbe | |
parent | ad575b16cf8dc9a1986edd2ca1ef651b864edd7d (diff) |
add option to just return the IP number of the next available host
-rw-r--r-- | gethost.cc | 22 |
1 files changed, 19 insertions, 3 deletions
@@ -85,7 +85,9 @@ main(int argc, char *argv[]) int serverPortNum = SERVER_PORT_NUM; struct hostent *he; char *distingProp = ""; - + bool node = false; + std::string arch; + int nextarg = 1; for (; nextarg < argc; nextarg++) { if (strequ("-s", argv[nextarg]) || strequ("--server", argv[nextarg])) { @@ -95,6 +97,13 @@ main(int argc, char *argv[]) } serverName.seekp(1); // remove everything after the first "@". serverName << argv[nextarg] << '\0'; + } else if (strequ("-a", argv[nextarg]) || + strequ("--arch", argv[nextarg])) { + if (++nextarg >= argc) { + usage(argv[0]); + return -1; + } + arch = atoi(argv[nextarg]); } else if (strequ("-p", argv[nextarg]) || strequ("--port", argv[nextarg])) { if (++nextarg >= argc) { @@ -102,6 +111,9 @@ main(int argc, char *argv[]) return -1; } serverPortNum = atoi(argv[nextarg]); + } else if (strequ("-n", argv[nextarg]) || + strequ("--node", argv[nextarg])) { + node = true; } else if (strequ("-t", argv[nextarg]) || strequ("--type", argv[nextarg])) { if (++nextarg >= argc) { @@ -118,7 +130,6 @@ main(int argc, char *argv[]) } } - std::ostringstream clientPortStr; clientPortStr << "c" << serverPortNum; DMUCS_DEBUG((stderr, "doing Sopen with %s, %s\n", @@ -220,6 +231,11 @@ main(int argc, char *argv[]) return -1; } + if (node) { + fprintf(stdout, "%s\n", resolved_name.c_str()); + return -1; + } + #if 0 for (char **ep = environ; *ep ; ep++) { printf("Env: %s\n", *ep); @@ -253,6 +269,6 @@ main(int argc, char *argv[]) void usage(const char *prog) { - fprintf(stderr, "Usage: %s [-s|--server <server>] [-p|--port <port>] " + fprintf(stderr, "Usage: %s [-s|--server <server>] [-p|--port <port>] [-n|--node] " "[-D|--debug] [-t|--type <typestr>] <command> [args] \n\n", prog); } |