commit 38702511c5203e487776932e6ebdb1c0a9e80a67
parent 65f285bad8c2fe136ce4c4a99f12cfc1cb2d0f68
Author: Kris Maglione <maglione.k@gmail.com>
Date: Mon, 19 Jul 2010 13:11:30 -0400
Sync lib9 with plan9port.
Diffstat:
4 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib9/_p9dialparse.c b/lib9/_p9dialparse.c
@@ -71,7 +71,7 @@ parseip(char *host, u32int *pip)
return -1;
break;
}
- *pip = *(u32int*)addr;
+ memmove(pip, addr, 4);
return 0;
}
diff --git a/lib9/_p9dir.c b/lib9/_p9dir.c
@@ -44,6 +44,7 @@ disksize(int fd, struct stat *st)
#define _HAVESTGEN
#include <sys/disklabel.h>
#include <sys/ioctl.h>
+#include <sys/dkio.h>
static vlong
disksize(int fd, struct stat *st)
{
diff --git a/lib9/sendfd.c b/lib9/sendfd.c
@@ -46,7 +46,7 @@ sendfd(int s, int fd)
cmsg->cmsg_len = CMSG_LEN(sizeof(int));
cmsg->cmsg_level = SOL_SOCKET;
cmsg->cmsg_type = SCM_RIGHTS;
- *(int*)CMSG_DATA(cmsg) = fd;
+ memmove(CMSG_DATA(cmsg), &fd, sizeof(int));
if((n=sendmsg(s, &msg, 0)) != iov.iov_len)
return -1;
@@ -83,6 +83,6 @@ recvfd(int s)
return -1;
}
cmsg = CMSG_FIRSTHDR(&msg);
- fd = *(int*)CMSG_DATA(cmsg);
+ memmove(&fd, CMSG_DATA(cmsg), sizeof(int));
return fd;
}
diff --git a/lib9/truerand.c b/lib9/truerand.c
@@ -6,6 +6,7 @@ truerand(void)
{
int i, n;
uchar buf[sizeof(ulong)];
+ ulong x;
static int randfd = -1;
static char *randfile;
@@ -21,5 +22,6 @@ truerand(void)
for(i=0; i<sizeof(buf); i += n)
if((n = readn(randfd, buf+i, sizeof(buf)-i)) < 0)
sysfatal("can't read %s: %r", randfile);
- return *((ulong*)buf);
+ memmove(&x, buf, sizeof x);
+ return x;
}