134 lines
4 KiB
C
134 lines
4 KiB
C
$NetBSD: patch-Xos_r.h.in,v 1.1 2013/05/17 13:17:40 joerg Exp $
|
|
|
|
--- Xos_r.h.in.orig 2013-03-29 23:26:53.000000000 +0000
|
|
+++ Xos_r.h.in
|
|
@@ -73,13 +73,7 @@ in this Software without prior written a
|
|
# include <X11/Xfuncs.h>
|
|
|
|
# ifndef X_NOT_POSIX
|
|
-# ifdef _POSIX_SOURCE
|
|
-# include <limits.h>
|
|
-# else
|
|
-# define _POSIX_SOURCE
|
|
-# include <limits.h>
|
|
-# undef _POSIX_SOURCE
|
|
-# endif
|
|
+# include <limits.h>
|
|
# ifndef LINE_MAX
|
|
# define X_LINE_MAX 2048
|
|
# else
|
|
@@ -88,6 +82,10 @@ in this Software without prior written a
|
|
# endif
|
|
#endif /* _XOS_R_H */
|
|
|
|
+# ifdef __APPLE__
|
|
+# include <sys/param.h>
|
|
+# endif
|
|
+
|
|
#ifndef WIN32
|
|
|
|
#ifdef __cplusplus
|
|
@@ -185,6 +183,13 @@ extern void XtProcessUnlock(
|
|
# endif
|
|
# endif
|
|
|
|
+#undef _XOS_R_H_MTSAFE_DIRENTAPI
|
|
+#undef _XOS_R_H_MTSAFE_NETDBAPI
|
|
+#undef _XOS_R_H_MTSAFE_PWDAPI
|
|
+#undef _XOS_R_H_MTSAFE_UNISTDAPI
|
|
+#undef _XOS_R_H_MTSAFE_STRINGAPI
|
|
+#undef _XOS_R_H_MTSAFE_TIMEAPI
|
|
+#undef _XOS_R_H_MTSAFE_GRPAPI
|
|
#endif /* !defined WIN32 */
|
|
|
|
/*
|
|
@@ -214,7 +219,7 @@ extern void XtProcessUnlock(
|
|
|
|
#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
|
|
# include <pwd.h>
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_PWDAPI)
|
|
+# if defined(_XOS_R_H_MTSAFE_PWDAPI)
|
|
# define XOS_USE_MTSAFE_PWDAPI 1
|
|
# endif
|
|
#endif
|
|
@@ -318,7 +323,7 @@ static __inline__ void _Xpw_copyPasswd(_
|
|
(_Xos_processUnlock), \
|
|
(p).pwp )
|
|
|
|
-#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__)
|
|
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__) && !defined(__NetBSD__) && !defined(__DragonFly__)
|
|
# define X_NEEDS_PWPARAMS
|
|
typedef struct {
|
|
struct passwd pws;
|
|
@@ -384,7 +389,7 @@ typedef int _Xgetpwret;
|
|
#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) \
|
|
&& !defined(WIN32)
|
|
# include <netdb.h>
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_NETDBAPI)
|
|
+# if defined(_XOS_R_H_MTSAFE_NETDBAPI)
|
|
# define XOS_USE_MTSAFE_NETDBAPI 1
|
|
# endif
|
|
#endif
|
|
@@ -543,7 +548,7 @@ typedef int _Xgetservbynameparams; /* du
|
|
# define dirent direct
|
|
# endif
|
|
# endif
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_DIRENTAPI)
|
|
+# if defined(_XOS_R_H_MTSAFE_DIRENTAPI)
|
|
# define XOS_USE_MTSAFE_DIRENTAPI 1
|
|
# endif
|
|
#endif
|
|
@@ -604,15 +609,8 @@ typedef struct {
|
|
/* Pre-POSIX API, returns non-NULL on success. */
|
|
# define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry))
|
|
# else
|
|
-/* We have no idea what is going on. Fake it all using process locks. */
|
|
-# define _XReaddir(d,p) \
|
|
- ( (_Xos_processLock), \
|
|
- (((p).result = readdir((d))) ? \
|
|
- (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
|
|
- ((p).result = &(p).dir_entry), 0) : \
|
|
- 0), \
|
|
- (_Xos_processUnlock), \
|
|
- (p).result )
|
|
+# define _XReaddir(d,p) \
|
|
+ (readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result)
|
|
# endif
|
|
#endif /* X_INCLUDE_DIRENT_H */
|
|
|
|
@@ -639,7 +637,7 @@ typedef struct {
|
|
|
|
#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
|
|
/* <unistd.h> already included by <X11/Xos.h> */
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_UNISTDAPI)
|
|
+# if defined(_XOS_R_H__MTSAFE_UNISTDAPI)
|
|
# define XOS_USE_MTSAFE_UNISTDAPI 1
|
|
# endif
|
|
#endif
|
|
@@ -779,7 +777,7 @@ typedef struct {
|
|
|
|
#if defined(X_INCLUDE_STRING_H) && !defined(_XOS_INCLUDED_STRING_H)
|
|
/* <string.h> has already been included by <X11/Xos.h> */
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_STRINGAPI)
|
|
+# if defined(_XOS_R_H_MTSAFE_STRINGAPI)
|
|
# define XOS_USE_MTSAFE_STRINGAPI 1
|
|
# endif
|
|
#endif
|
|
@@ -831,7 +829,7 @@ typedef char * _Xstrtokparams;
|
|
|
|
#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
|
|
# include <time.h>
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_TIMEAPI)
|
|
+# if defined(_XOS_R_H_MTSAFE_TIMEAPI)
|
|
# define XOS_USE_MTSAFE_TIMEAPI 1
|
|
# endif
|
|
#endif
|
|
@@ -987,7 +985,7 @@ typedef struct tm _Xltimeparams;
|
|
|
|
#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
|
|
# include <grp.h>
|
|
-# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_GRPAPI)
|
|
+# if defined(_XOS_R_H_MTSAFE_GRPAPI)
|
|
# define XOS_USE_MTSAFE_GRPAPI 1
|
|
# endif
|
|
#endif
|