aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Savoye <rob.savoye@linaro.org>2014-07-09 21:51:04 -0600
committerRob Savoye <rob.savoye@linaro.org>2014-07-09 21:51:04 -0600
commitcfcefce97f0432a93e668aeb73db62124ac274b7 (patch)
tree69c7acac32dc53a79a3e088234970f351521dcbe
parentad575b16cf8dc9a1986edd2ca1ef651b864edd7d (diff)
add option to just return the IP number of the next available host
-rw-r--r--gethost.cc22
1 files changed, 19 insertions, 3 deletions
diff --git a/gethost.cc b/gethost.cc
index aabf974..c7c1fc1 100644
--- a/gethost.cc
+++ b/gethost.cc
@@ -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);
}