summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nss/getXXbyYY_r.c9
-rw-r--r--wcsmbs/wchar.h9
3 files changed, 15 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d6f4740f6c..c841a0eafc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-06-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* wcsmbs/wchar.h: Define wint_t in std namespace, too [PR libc/5034].
+
 2003-05-29  Jim Meyering  <jim@meyering.net>
 
 	* time/strftime.c (my_strftime) [!defined _NL_CURRENT
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index 3f873a5fde..06f2abedd0 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -248,13 +248,12 @@ done:
   POSTPROCESS;
 #endif
   return (status == NSS_STATUS_SUCCESS ? 0
-	  : (status != NSS_STATUS_TRYAGAIN
 #ifdef NEED_H_ERRNO
-	     /* These functions only set errno if h_errno is
-		NETDB_INTERNAL.  */
-	     && *h_errnop == NETDB_INTERNAL
+	  /* These functions only set errno if h_errno is NETDB_INTERNAL.  */
+	  : status == NSS_STATUS_TRYAGAIN && *h_errnop != NETDB_INTERNAL
+	  ? EAGAIN
 #endif
-	     ? errno : EAGAIN));
+	  : errno);
 }
 
 
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 8cdd79bb70..8bab0ddd7b 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -59,8 +59,13 @@
 # define _WINT_T
 typedef unsigned int wint_t;
 #else
-# ifdef __USE_GNU
-__USING_NAMESPACE_STD(wint_t)
+/* Work around problems with the <stddef.h> file which doesn't put
+   wint_t in the std namespace.  */
+# if defined __cplusplus && defined _GLIBCPP_USE_NAMESPACES \
+     && defined __WINT_TYPE__
+__BEGIN_NAMESPACE_STD
+typedef __WINT_TYPE__ wint_t;
+__END_NAMESPACE_STD
 # endif
 #endif