Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jun 2004 14:47:27 +0200
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
Cc:        current@freebsd.org
Subject:   Re: TEST/REVIEW: minor improvement to linux-o-lator 
Message-ID:  <2518.1088599647@critter.freebsd.dk>
In-Reply-To: Your message of "Wed, 30 Jun 2004 14:40:41 %2B0200." <2323.1088599241@critter.freebsd.dk> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <2323.1088599241@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@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2518.1088599647>