diff --git a/net/dns.c b/net/dns.c index d241781..ffe98ef 100644 --- a/net/dns.c +++ b/net/dns.c @@ -258,20 +258,26 @@ { IPaddr_t ip; int ret; - char *hostname; + 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", hostname); return 1; } - printf("%s is at %pI4\n", hostname, &ip); + if (varname) + setenv_ip(varname, ip); + else + printf("%s is at %pI4\n", hostname, &ip); return 0; } @@ -279,7 +285,7 @@ BAREBOX_CMD_START(host) .cmd = do_host, BAREBOX_CMD_DESC("resolve a hostname") - BAREBOX_CMD_OPTS("HOSTNAME") + BAREBOX_CMD_OPTS(" [VARIABLE]") BAREBOX_CMD_GROUP(CMD_GRP_NET) BAREBOX_CMD_END #endif