Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/tmux/dist/compat Hacks for CMSG_SPACE() not bei...
details: https://anonhg.NetBSD.org/src/rev/0cdbdf8fd721
branches: trunk
changeset: 765563:0cdbdf8fd721
user: joerg <joerg%NetBSD.org@localhost>
date: Mon May 30 16:20:58 2011 +0000
description:
Hacks for CMSG_SPACE() not being an ICE
diffstat:
external/bsd/tmux/dist/compat/imsg-buffer.c | 8 ++++++--
external/bsd/tmux/dist/compat/imsg.c | 8 ++++++--
2 files changed, 12 insertions(+), 4 deletions(-)
diffs (60 lines):
diff -r 27509a55c3a3 -r 0cdbdf8fd721 external/bsd/tmux/dist/compat/imsg-buffer.c
--- a/external/bsd/tmux/dist/compat/imsg-buffer.c Mon May 30 16:03:02 2011 +0000
+++ b/external/bsd/tmux/dist/compat/imsg-buffer.c Mon May 30 16:20:58 2011 +0000
@@ -1,4 +1,4 @@
-/* $Id: imsg-buffer.c,v 1.1.1.1 2011/03/10 09:15:41 jmmv Exp $ */
+/* $Id: imsg-buffer.c,v 1.2 2011/05/30 16:20:58 joerg Exp $ */
/* $OpenBSD: imsg-buffer.c,v 1.3 2010/05/26 13:56:07 nicm Exp $ */
/*
@@ -228,7 +228,11 @@
struct cmsghdr *cmsg;
union {
struct cmsghdr hdr;
+#ifdef __clang__
+ char buf[128];
+#else
char buf[CMSG_SPACE(sizeof(int))];
+#endif
} cmsgbuf;
bzero(&iov, sizeof(iov));
@@ -248,7 +252,7 @@
if (buf != NULL && buf->fd != -1) {
msg.msg_control = (caddr_t)&cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
+ msg.msg_controllen = CMSG_SPACE(sizeof(int));
cmsg = CMSG_FIRSTHDR(&msg);
cmsg->cmsg_len = CMSG_LEN(sizeof(int));
cmsg->cmsg_level = SOL_SOCKET;
diff -r 27509a55c3a3 -r 0cdbdf8fd721 external/bsd/tmux/dist/compat/imsg.c
--- a/external/bsd/tmux/dist/compat/imsg.c Mon May 30 16:03:02 2011 +0000
+++ b/external/bsd/tmux/dist/compat/imsg.c Mon May 30 16:20:58 2011 +0000
@@ -1,4 +1,4 @@
-/* $Id: imsg.c,v 1.1.1.1 2011/03/10 09:15:41 jmmv Exp $ */
+/* $Id: imsg.c,v 1.2 2011/05/30 16:20:58 joerg Exp $ */
/* $OpenBSD: imsg.c,v 1.3 2010/05/26 13:56:07 nicm Exp $ */
/*
@@ -48,7 +48,11 @@
struct cmsghdr *cmsg;
union {
struct cmsghdr hdr;
+#ifdef __clang__
+ char buf[128];
+#else
char buf[CMSG_SPACE(sizeof(int) * 16)];
+#endif
} cmsgbuf;
struct iovec iov;
ssize_t n;
@@ -62,7 +66,7 @@
msg.msg_iov = &iov;
msg.msg_iovlen = 1;
msg.msg_control = &cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
+ msg.msg_controllen = CMSG_SPACE(sizeof(int) * 16);
if ((n = recvmsg(ibuf->fd, &msg, 0)) == -1) {
if (errno != EINTR && errno != EAGAIN) {
Home |
Main Index |
Thread Index |
Old Index