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