commit 2b54cbce2c363ab6ae89d10657d7465858116d7a Author: Florian Weimer Date: Thu Apr 28 17:41:49 2016 +0200 getnameinfo: Do not preserve errno POSIX does not require it, the companion getaddrinfo implementation does not do it, and this behavior is not documented in the manual page, either. diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c index 40f67f0..9b1847b 100644 --- a/inet/getnameinfo.c +++ b/inet/getnameinfo.c @@ -175,7 +175,6 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags) { - int serrno = errno; int herrno; struct hostent th; int ok = 0; @@ -326,10 +325,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, if (!ok) { if (flags & NI_NAMEREQD) - { - __set_errno (serrno); - return EAI_NONAME; - } + return EAI_NONAME; else { const char *c; @@ -406,10 +402,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, }; if (flags & NI_NAMEREQD) - { - __set_errno (serrno); - return EAI_NONAME; - } + return EAI_NONAME; strncpy (host, "localhost", hostlen); break; @@ -463,7 +456,6 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, host[hostlen-1] = 0; if (serv && (servlen > 0)) serv[servlen-1] = 0; - errno = serrno; return 0; } libc_hidden_def (getnameinfo)