From 54d79e995d5a6d0a393ed913b6e26dccc63de5b7 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 15 Nov 1996 04:08:00 +0000 Subject: update from main archive 961114 --- nss/getXXbyYY.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'nss/getXXbyYY.c') diff --git a/nss/getXXbyYY.c b/nss/getXXbyYY.c index 2a84db9..8449a38 100644 --- a/nss/getXXbyYY.c +++ b/nss/getXXbyYY.c @@ -56,7 +56,7 @@ /* 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 +# define H_ERRNO_VAR , &h_errno_tmp #else # define H_ERRNO_PARM # define H_ERRNO_VAR @@ -80,6 +80,9 @@ FUNCTION_NAME (ADD_PARAMS) static LOOKUP_TYPE resbuf; LOOKUP_TYPE *result; int save; +#ifdef NEED_H_ERRNO + int h_errno_tmp = 0; +#endif /* Get lock. */ __libc_lock_lock (lock); @@ -110,5 +113,10 @@ FUNCTION_NAME (ADD_PARAMS) __libc_lock_unlock (lock); __set_errno (save); +#ifdef NEED_H_ERRNO + if (h_errno_tmp != 0) + __set_h_errno (h_errno_tmp); +#endif + return result; } -- cgit v1.1