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