Re: asr: slightly better error reporting for getnameinfo()
On Mon, Feb 20, 2017 at 09:37:28PM +0100, Eric Faurot wrote: > Report the errno set by getifaddrs(3) if the setup for AI_ADDRCONFIG fails, > rather than a non-informative EAI_FAIL. Compare to -1 for error detection > while here. > > Eric. ok gilles@ > Index: asr/getaddrinfo_async.c > === > RCS file: /cvs/src/lib/libc/asr/getaddrinfo_async.c,v > retrieving revision 1.50 > diff -u -p -r1.50 getaddrinfo_async.c > --- asr/getaddrinfo_async.c 16 Dec 2015 16:32:30 - 1.50 > +++ asr/getaddrinfo_async.c 20 Feb 2017 20:09:25 - > @@ -191,8 +191,9 @@ getaddrinfo_async_run(struct asr_query * > > /* Restrict result set to configured address families */ > if (ai->ai_flags & AI_ADDRCONFIG) { > - if (addrconfig_setup(as) != 0) { > - ar->ar_gai_errno = EAI_FAIL; > + if (addrconfig_setup(as) == -1) { > + ar->ar_errno = errno; > + ar->ar_gai_errno = EAI_SYSTEM; > async_set_state(as, ASR_STATE_HALT); > break; > } > @@ -679,7 +680,7 @@ addrconfig_setup(struct asr_query *as) > struct sockaddr_in *sinp; > struct sockaddr_in6 *sin6p; > > - if (getifaddrs() != 0) > + if (getifaddrs() == -1) > return (-1); > > as->as.ai.flags |= ASYNC_NO_INET | ASYNC_NO_INET6; > -- Gilles Chehade https://www.poolp.org @poolpOrg
Re: asr: slightly better error reporting for getnameinfo()
Eric Faurotwrites: > Report the errno set by getifaddrs(3) if the setup for AI_ADDRCONFIG fails, > rather than a non-informative EAI_FAIL. Compare to -1 for error detection > while here. ok jca@ -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
asr: slightly better error reporting for getnameinfo()
Report the errno set by getifaddrs(3) if the setup for AI_ADDRCONFIG fails, rather than a non-informative EAI_FAIL. Compare to -1 for error detection while here. Eric. Index: asr/getaddrinfo_async.c === RCS file: /cvs/src/lib/libc/asr/getaddrinfo_async.c,v retrieving revision 1.50 diff -u -p -r1.50 getaddrinfo_async.c --- asr/getaddrinfo_async.c 16 Dec 2015 16:32:30 - 1.50 +++ asr/getaddrinfo_async.c 20 Feb 2017 20:09:25 - @@ -191,8 +191,9 @@ getaddrinfo_async_run(struct asr_query * /* Restrict result set to configured address families */ if (ai->ai_flags & AI_ADDRCONFIG) { - if (addrconfig_setup(as) != 0) { - ar->ar_gai_errno = EAI_FAIL; + if (addrconfig_setup(as) == -1) { + ar->ar_errno = errno; + ar->ar_gai_errno = EAI_SYSTEM; async_set_state(as, ASR_STATE_HALT); break; } @@ -679,7 +680,7 @@ addrconfig_setup(struct asr_query *as) struct sockaddr_in *sinp; struct sockaddr_in6 *sin6p; - if (getifaddrs() != 0) + if (getifaddrs() == -1) return (-1); as->as.ai.flags |= ASYNC_NO_INET | ASYNC_NO_INET6;