socsvn commit: r253695 - soc2013/dpl/head/contrib/bzip2
dpl at FreeBSD.org
dpl at FreeBSD.org
Sat Jun 29 19:59:38 UTC 2013
Author: dpl
Date: Sat Jun 29 19:59:38 2013
New Revision: 253695
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=253695
Log:
Resolved a silly bug with pointers.
Modified:
soc2013/dpl/head/contrib/bzip2/bzip2.c
Modified: soc2013/dpl/head/contrib/bzip2/bzip2.c
==============================================================================
--- soc2013/dpl/head/contrib/bzip2/bzip2.c Sat Jun 29 18:07:32 2013 (r253694)
+++ soc2013/dpl/head/contrib/bzip2/bzip2.c Sat Jun 29 19:59:38 2013 (r253695)
@@ -234,7 +234,7 @@
printf("sendfd on socket:%d fd:%d\n",s,fd);
struct msghdr msg;
- struct cmsghdr *cmsg;
+ struct cmsghdr cmsg;
char buf = { "!" };
struct iovec io[1];
@@ -245,15 +245,15 @@
msg.msg_namelen = 0;
msg.msg_iov = io;
msg.msg_iovlen = 1;
- msg.msg_control = cmsg;
+ msg.msg_control = &cmsg;
msg.msg_controllen = CMSG_LEN(sizeof(int));
printf("About to set CMSG\n");
- cmsg->cmsg_len = msg.msg_controllen;
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
+ cmsg.cmsg_len = msg.msg_controllen;
+ cmsg.cmsg_level = SOL_SOCKET;
+ cmsg.cmsg_type = SCM_RIGHTS;
printf("About to set CMSG_DATA as fd\n");
- *(int *)CMSG_DATA(cmsg) = fd;
+ *(int *)CMSG_DATA(&cmsg) = fd;
printf("CMSG_DATA = fd\n");
if(sendmsg(s, &msg, 0) < 0)
return -1;
@@ -266,7 +266,7 @@
int fd;
struct msghdr msg;
- struct cmsghdr *cmsg;
+ struct cmsghdr cmsg;
char buf = { "!" };
struct iovec io[1];
@@ -277,16 +277,16 @@
msg.msg_namelen = 0;
msg.msg_iov = io;
msg.msg_iovlen = 1;
- msg.msg_control = cmsg;
+ msg.msg_control = &cmsg;
msg.msg_controllen = CMSG_LEN(sizeof(int));
- cmsg->cmsg_len = msg.msg_controllen;
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
- /*Why does sendmsg set errno to 9 EBADF.*/
+ cmsg.cmsg_len = msg.msg_controllen;
+ cmsg.cmsg_level = SOL_SOCKET;
+ cmsg.cmsg_type = SCM_RIGHTS;
+ /*Why does sendmsg set errno to 9 EBADF??*/
if(recvmsg(s, &msg, 0) < 0)
return -1;
- fd = *(int *)CMSG_DATA(cmsg);
+ fd = *(int *)CMSG_DATA(&cmsg);
printf("recvfd() fd recieved: %d", fd);
return 0;
}
More information about the svn-soc-all
mailing list