From bb77cb6ffa61b2c9fccba81ffb0c4c3cf252854b Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Tue, 30 Dec 2014 09:04:08 -0600 Subject: [PATCH 02/15] EAI_NODATA does not exist everywhere FreeBSD says it is deprecated #ifdef's it out. Linux glibc hides it and many other return codes behind __USE_GNU. What is that supposed to mean? It seems the only effect of 'deprecating' this value has been that all portable software now has to have a special check instead. --- src/usr.sbin/ntpd/config.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c index 9472a4616f..224c913383 100644 --- a/src/usr.sbin/ntpd/config.c +++ b/src/usr.sbin/ntpd/config.c @@ -98,8 +98,14 @@ host_dns1(const char *s, struct ntp_addr **hn, int notauth) hints.ai_socktype = SOCK_DGRAM; /* DUMMY */ hints.ai_flags = AI_ADDRCONFIG; error = getaddrinfo(s, NULL, &hints, &res0); - if (error == EAI_AGAIN || error == EAI_NODATA || error == EAI_NONAME) - return (0); + switch (error) { + case EAI_AGAIN: + case EAI_NONAME: +#ifdef EAI_NODATA + case EAI_NODATA: +#endif + return (0); + } if (error) { log_warnx("could not parse \"%s\": %s", s, gai_strerror(error)); -- 2.26.0