From 2b54cbce2c363ab6ae89d10657d7465858116d7a Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 28 Apr 2016 17:41:49 +0200 Subject: [PATCH] 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. --- ChangeLog | 4 ++++ inet/getnameinfo.c | 12 ++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index bb2ca73..8963152 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2016-04-28 Florian Weimer + * inet/getnameinfo.c (getnameinfo): Do not preserve errno. + +2016-04-28 Florian Weimer + * resolv/inet_addr.c: Reindent preprocessor conditionals. * resolv/res_init.c: Likewise. * resolv/res_mkquery.c: Likewise. 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) -- 2.7.4