nss: Use h_errno directly in getXXbyYY
Commit Message
2017-08-09 Florian Weimer <fweimer@redhat.com>
* nss/getXXbyYY.c (FUNCTION_NAME): Use h_errno variable directly.
(H_ERRNO_VAR, H_ERRNO_VAR_P): Adjust.
@@ -62,8 +62,8 @@
/* Sometimes we need to store error codes in the `h_errno' variable. */
#ifdef NEED_H_ERRNO
# define H_ERRNO_PARM , int *h_errnop
-# define H_ERRNO_VAR , &h_errno_tmp
-# define H_ERRNO_VAR_P &h_errno_tmp
+# define H_ERRNO_VAR , &h_errno
+# define H_ERRNO_VAR_P &h_errno
#else
# define H_ERRNO_PARM
# define H_ERRNO_VAR
@@ -94,9 +94,6 @@ FUNCTION_NAME (ADD_PARAMS)
static size_t buffer_size;
static LOOKUP_TYPE resbuf;
LOOKUP_TYPE *result;
-#ifdef NEED_H_ERRNO
- int h_errno_tmp = 0;
-#endif
#ifdef HANDLE_DIGITS_DOTS
/* Wrap both __nss_hostname_digits_dots and the actual lookup
@@ -135,7 +132,7 @@ FUNCTION_NAME (ADD_PARAMS)
buffer_size, &result H_ERRNO_VAR)
== ERANGE)
#ifdef NEED_H_ERRNO
- && h_errno_tmp == NETDB_INTERNAL
+ && h_errno == NETDB_INTERNAL
#endif
)
{
@@ -165,11 +162,6 @@ done:
__resolv_context_put (res_ctx);
#endif
-#ifdef NEED_H_ERRNO
- if (h_errno_tmp != 0)
- __set_h_errno (h_errno_tmp);
-#endif
-
return result;
}