diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-15 13:43:04 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-15 13:43:04 +0100 |
commit | a9d1b2dbf4a6808bd0d2e841e32802f5bffb362a (patch) | |
tree | f5af1f80e4a215d1a5829aa5ea4f4458c4de61af /net/dns.c | |
parent | 53227ec3c16fe50d7a3ca4020d3cb98878eeaa18 (diff) | |
parent | 92a1e1b0f19aedcc1ec7b4e34f6597b4340cf96a (diff) | |
download | barebox-a9d1b2dbf4a6808bd0d2e841e32802f5bffb362a.tar.gz barebox-a9d1b2dbf4a6808bd0d2e841e32802f5bffb362a.tar.xz |
Merge branch 'for-next/net'
Diffstat (limited to 'net/dns.c')
-rw-r--r-- | net/dns.c | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -258,15 +258,26 @@ static int do_host(int argc, char *argv[]) { IPaddr_t ip; int ret; + char *hostname, *varname = NULL; - if (argc != 2) + if (argc < 2) return COMMAND_ERROR_USAGE; + hostname = argv[1]; + + if (argc > 2) + varname = argv[2]; + ret = resolv(argv[1], &ip); - if (ret) - printf("unknown host %s\n", argv[1]); + if (ret) { + printf("unknown host %s\n", hostname); + return 1; + } + + if (varname) + setenv_ip(varname, ip); else - printf("%s is at %pI4\n", argv[1], &ip); + printf("%s is at %pI4\n", hostname, &ip); return 0; } @@ -274,7 +285,7 @@ static int do_host(int argc, char *argv[]) BAREBOX_CMD_START(host) .cmd = do_host, BAREBOX_CMD_DESC("resolve a hostname") - BAREBOX_CMD_OPTS("HOSTNAME") + BAREBOX_CMD_OPTS("<HOSTNAME> [VARIABLE]") BAREBOX_CMD_GROUP(CMD_GRP_NET) BAREBOX_CMD_END #endif |