diff options
Diffstat (limited to 'include/netdb.h')
-rw-r--r-- | include/netdb.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/include/netdb.h b/include/netdb.h index 3f2ae06451..8a569baef3 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -3,18 +3,20 @@ #ifndef _ISOMAC /* Macros for accessing h_errno from inside libc. */ -# undef h_errno -# ifdef _LIBC_REENTRANT -# include <tls.h> -# ifndef NOT_IN_libc -# define h_errno __libc_h_errno -# else -# define h_errno h_errno /* For #ifndef h_errno tests. */ -# endif +# if !defined NOT_IN_libc || defined IN_LIB +# undef h_errno +# ifdef _LIBC_REENTRANT +# include <tls.h> +# ifndef NOT_IN_libc +# define h_errno __libc_h_errno +# else +# define h_errno h_errno /* For #ifndef h_errno tests. */ +# endif extern __thread int h_errno attribute_tls_model_ie; -# else +# else extern int h_errno; -# endif /* _LIBC_REENTRANT */ +# endif /* _LIBC_REENTRANT */ +# endif /* !NOT_IN_libc || IN_LIB */ # define __set_h_errno(x) (h_errno = (x)) libc_hidden_proto (hstrerror) |