TEST/REVIEW: minor improvement to linux-o-lator
Poul-Henning Kamp
phk at phk.freebsd.dk
Wed Jun 30 05:41:30 PDT 2004
While digging through the COMPAT_* tangle, I found a couple of
cases where we could wean the linux-o-lators from COMPAT_43:
Index: compat/linux/linux_socket.c
===================================================================
RCS file: /home/ncvs/src/sys/compat/linux/linux_socket.c,v
retrieving revision 1.45
diff -u -r1.45 linux_socket.c
--- compat/linux/linux_socket.c 25 Dec 2003 09:59:02 -0000 1.45
+++ compat/linux/linux_socket.c 30 Jun 2004 12:21:10 -0000
@@ -855,11 +855,13 @@
linux_send(struct thread *td, struct linux_send_args *args)
{
struct linux_send_args linux_args;
- struct osend_args /* {
+ struct sendto_args /* {
int s;
caddr_t buf;
int len;
int flags;
+ caddr_t to;
+ int tolen;
} */ bsd_args;
int error;
@@ -870,7 +872,9 @@
bsd_args.buf = linux_args.msg;
bsd_args.len = linux_args.len;
bsd_args.flags = linux_args.flags;
- return (osend(td, &bsd_args));
+ bsd_args.to = NULL;
+ bsd_args.tolen = 0
+ return (sendto(td, &bsd_args));
}
struct linux_recv_args {
@@ -889,6 +893,8 @@
caddr_t buf;
int len;
int flags;
+ struct sockaddr *from;
+ socklen_t fromlenaddr;
} */ bsd_args;
int error;
@@ -899,7 +905,9 @@
bsd_args.buf = linux_args.msg;
bsd_args.len = linux_args.len;
bsd_args.flags = linux_args.flags;
- return (orecv(td, &bsd_args));
+ bsd_args.from = NULL;
+ bsd_args.fromlenaddr = 0;
+ return (recvfrom(td, &bsd_args));
}
static int
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the freebsd-current
mailing list