lwip: dns: do not print IP address when a variable is specified

When calling "dns <hostname> <varname>", do not print out the IP address
of <hostname> onto the console. Print it only when no variable is
passed. The reason is to be able to call do_dns() from another command
in need of the DNS services without polluting the output.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
This commit is contained in:
Jerome Forissier
2025-06-25 15:19:15 +02:00
parent d3136d22a6
commit 1361d9f4f0

View File

@@ -43,8 +43,6 @@ static void dns_cb(const char *name, const ip_addr_t *ipaddr, void *arg)
if (dns_cb_arg->var)
env_set(dns_cb_arg->var, ipstr);
printf("%s\n", ipstr);
}
static int dns_loop(struct udevice *udev, const char *name, const char *var)
@@ -89,8 +87,11 @@ static int dns_loop(struct udevice *udev, const char *name, const char *var)
net_lwip_remove_netif(netif);
if (dns_cb_arg.done && dns_cb_arg.host_ipaddr.addr != 0)
if (dns_cb_arg.done && dns_cb_arg.host_ipaddr.addr != 0) {
if (!var)
printf("%s\n", ipaddr_ntoa(&ipaddr));
return CMD_RET_SUCCESS;
}
return CMD_RET_FAILURE;
}