summaryrefslogtreecommitdiff
path: root/x11/xorg-libs/patches/patch-bc
diff options
context:
space:
mode:
Diffstat (limited to 'x11/xorg-libs/patches/patch-bc')
-rw-r--r--x11/xorg-libs/patches/patch-bc36
1 files changed, 31 insertions, 5 deletions
diff --git a/x11/xorg-libs/patches/patch-bc b/x11/xorg-libs/patches/patch-bc
index 6e23e8b0c50..1af0c7ec473 100644
--- a/x11/xorg-libs/patches/patch-bc
+++ b/x11/xorg-libs/patches/patch-bc
@@ -1,8 +1,18 @@
-$NetBSD: patch-bc,v 1.1 2005/05/23 19:14:15 xtraeme Exp $
+$NetBSD: patch-bc,v 1.2 2005/12/12 19:52:17 joerg Exp $
---- include/Xos_r.h.orig 2005-04-30 23:18:21.000000000 +0200
-+++ include/Xos_r.h 2005-04-30 23:17:52.000000000 +0200
-@@ -257,7 +257,7 @@
+--- include/Xos_r.h.orig 2005-12-12 19:16:02.000000000 +0000
++++ include/Xos_r.h
+@@ -205,6 +205,9 @@ extern void XtProcessUnlock(
+ # undef _POSIX_THREAD_SAFE_FUNCTIONS
+ #endif
+
++#if defined(__DragonFly__)
++#define XNO_MTSAFE_PWDAPI 1
++#endif
+
+ /***** <pwd.h> wrappers *****/
+
+@@ -257,7 +260,7 @@ typedef struct {
*/
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
@@ -11,7 +21,7 @@ $NetBSD: patch-bc,v 1.1 2005/05/23 19:14:15 xtraeme Exp $
static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
{
memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));
-@@ -427,7 +427,7 @@
+@@ -427,7 +430,7 @@ typedef int _Xgetservbynameparams; /* du
/* UnixWare 2.0, or other systems with thread support but no _r API. */
/* WARNING: The h_addr_list and s_aliases values are *not* copied! */
@@ -20,3 +30,19 @@ $NetBSD: patch-bc,v 1.1 2005/05/23 19:14:15 xtraeme Exp $
#include <sys/param.h>
#endif
+@@ -652,6 +655,15 @@ extern int _Preaddir_r(DIR *, struct dir
+ # elif defined(SVR4)
+ /* Pre-POSIX API, returns non-NULL on success. */
+ # define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry))
++#elif defined(__DragonFly__)
++# define _XReaddir(d,p) \
++ ( (_Xos_processLock), \
++ (((p).result = readdir((d))) ? \
++ (memcpy(&((p).dir_entry), (p).result, _DIRENT_MINSIZ((p).result)), \
++ ((p).result = &(p).dir_entry), 0) : \
++ 0), \
++ (_Xos_processUnlock), \
++ (p).result )
+ # else
+ /* We have no idea what is going on. Fake it all using process locks. */
+ # define _XReaddir(d,p) \