]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
lwip: dns: do not print IP address when a variable is specified
authorJerome Forissier <jerome.forissier@linaro.org>
Wed, 25 Jun 2025 13:19:15 +0000 (15:19 +0200)
committerJerome Forissier <jerome.forissier@linaro.org>
Tue, 8 Jul 2025 09:07:37 +0000 (11:07 +0200)
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>
cmd/lwip/dns.c

index 92312eb5a9d1c48d3e46b20f55a6b9d74756998c..b5fccc7433ebc9f5254ecbee6e1682710331db9a 100644 (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;
 }