summaryrefslogtreecommitdiffstats
path: root/net/sntp.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-11-29 11:17:08 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-11-29 15:04:31 +0100
commit4b48ae4bcdbc137c80b77adc5aa614e5f4cb9f51 (patch)
treeec502443c6dd7e665a8b420d49eb5ae811de7775 /net/sntp.c
parentcd9a7567b0d5afd874dcd31fd22918868e9eab9e (diff)
downloadbarebox-4b48ae4bcdbc137c80b77adc5aa614e5f4cb9f51.tar.gz
barebox-4b48ae4bcdbc137c80b77adc5aa614e5f4cb9f51.tar.xz
net: dns: return error codes
The resolv() function used to return the IP address. When net_udp_new() fails we return an error code though which the callers of resolv() take as an IP address. This is wrong of course and we could return 0 in this case. Instead we return an error code and pass the resolved IP as a pointer which allows us to return proper error codes. This patch also adds error messages and error returns to the various callers of resolv() which used to just continue with a zero IP and let the user figure out what went wrong. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net/sntp.c')
-rw-r--r--net/sntp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/sntp.c b/net/sntp.c
index 577c859616..b4e6d6439c 100644
--- a/net/sntp.c
+++ b/net/sntp.c
@@ -120,9 +120,9 @@ s64 sntp(const char *server)
if (!server)
return -EINVAL;
- net_sntp_ip = resolv(server);
- if (!net_sntp_ip) {
- printf("unknown host %s\n", server);
+ ret = resolv(server, &net_sntp_ip);
+ if (ret) {
+ printf("Cannot resolve \"%s\": %s\n", server, strerror(-ret));;
return 1;
}