TEST/REVIEW: minor improvement to linux-o-lator

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Jun 30 05:48:45 PDT 2004


In message <2323.1088599241 at critter.freebsd.dk>, Poul-Henning Kamp writes:
>
>While digging through the COMPAT_* tangle, I found a couple of
>cases where we could wean the linux-o-lators from COMPAT_43:

And here is the correct patch file :-)
the first one was the initial editing result.

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:41:45 -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 {
@@ -884,11 +888,13 @@
 linux_recv(struct thread *td, struct linux_recv_args *args)
 {
 	struct linux_recv_args linux_args;
-	struct orecv_args /* {
+	struct recvfrom_args /* {
 		int s;
 		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