From c77077c654c3d8ca31c0090cc02f4b96e33bf921 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Tue, 30 Dec 2014 09:04:08 -0600 Subject: [PATCH 04/12] 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 c814183..ce5d860 100644 --- a/src/usr.sbin/ntpd/config.c +++ b/src/usr.sbin/ntpd/config.c @@ -133,8 +133,14 @@ host_dns(const char *s, struct ntp_addr **hn) hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; /* DUMMY */ 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)); -- 1.9.1