aboutsummaryrefslogtreecommitdiff
path: root/nss/getXXbyYY_r.c
diff options
context:
space:
mode:
Diffstat (limited to 'nss/getXXbyYY_r.c')
-rw-r--r--nss/getXXbyYY_r.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index a0e0e003b7..99639593b8 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -248,23 +248,22 @@ done:
POSTPROCESS;
#endif
- int result;
+ int res;
if (status == NSS_STATUS_SUCCESS)
- result = 0;
+ res = 0;
/* Don't pass back ERANGE if this is not for a too-small buffer. */
else if (errno == ERANGE && status != NSS_STATUS_TRYAGAIN)
- {
+ res = EINVAL;
#ifdef NEED_H_ERRNO
- /* These functions only set errno if h_errno is NETDB_INTERNAL. */
- if (*h_errnop != NETDB_INTERNAL)
+ /* These functions only set errno if h_errno is NETDB_INTERNAL. */
+ else if (status == NSS_STATUS_TRYAGAIN && *h_errnop != NETDB_INTERNAL)
+ res = EAGAIN;
#endif
- result = ENOENT;
- }
else
return errno;
- __set_errno (result);
- return result;
+ __set_errno (res);
+ return res;
}