diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-14 20:56:07 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-14 20:56:07 +0100 |
| commit | d03c85da9045a67e178c98d94b607cc3cd8d22c0 (patch) | |
| tree | fbd782d553156e68de26505ac514a532da98e4d6 /src/libtools/libc_net32.c | |
| parent | 6a5d8313312ca254b7382019dc99912cabc5dafd (diff) | |
| download | box64-d03c85da9045a67e178c98d94b607cc3cd8d22c0.tar.gz box64-d03c85da9045a67e178c98d94b607cc3cd8d22c0.zip | |
[BOX32][WRAPPER] More fixes to libc and X11 wrapping
Diffstat (limited to 'src/libtools/libc_net32.c')
| -rw-r--r-- | src/libtools/libc_net32.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/libtools/libc_net32.c b/src/libtools/libc_net32.c index b3fde053..afc83f89 100644 --- a/src/libtools/libc_net32.c +++ b/src/libtools/libc_net32.c @@ -42,8 +42,7 @@ EXPORT ssize_t my32_recvmsg(x64emu_t* emu, int socket, struct i386_msghdr* msg, { struct iovec iov[msg->msg_iovlen]; struct msghdr m; - uint8_t buff[msg->msg_controllen+256]; - AlignMsgHdr_32(&m, iov, buff, msg, 0); + AlignMsgHdr_32(&m, iov, msg); ssize_t ret = recvmsg(socket, &m, flags); UnalignMsgHdr_32(msg, &m); return ret; @@ -53,8 +52,7 @@ EXPORT ssize_t my32_sendmsg(x64emu_t* emu, int socket, struct i386_msghdr* msg, { struct iovec iov[msg->msg_iovlen]; struct msghdr m; - uint8_t buff[msg->msg_controllen+256]; - AlignMsgHdr_32(&m, iov, buff, msg, 1); + AlignMsgHdr_32(&m, iov, msg); ssize_t ret = sendmsg(socket, &m, flags); UnalignMsgHdr_32(msg, &m); return ret; @@ -64,16 +62,13 @@ EXPORT int my32_recvmmsg(x64emu_t* emu, int socket, struct i386_mmsghdr* msgs, u { struct mmsghdr m[vlen]; uint32_t iovlen = 0; - size_t ctrlen = 0; for(uint32_t i=0; i<vlen; ++i) { if(msgs[i].msg_hdr.msg_iovlen>iovlen) iovlen = msgs[i].msg_hdr.msg_iovlen; - if(msgs[i].msg_hdr.msg_controllen>ctrlen) ctrlen = msgs[i].msg_hdr.msg_controllen; m[i].msg_len = msgs[i].msg_len; } struct iovec iov[vlen][iovlen]; - uint8_t buff[vlen][ctrlen+256]; for(uint32_t i=0; i<vlen; ++i) - AlignMsgHdr_32(&m[i].msg_hdr, iov[i], buff[i], &msgs[i].msg_hdr, 1); + AlignMsgHdr_32(&m[i].msg_hdr, iov[i], &msgs[i].msg_hdr); int ret = recvmmsg(socket, m, vlen, flags, timeout); for(uint32_t i=0; i<vlen; ++i) { UnalignMsgHdr_32(&msgs[i].msg_hdr, &m[i].msg_hdr); @@ -86,16 +81,13 @@ EXPORT int my32_sendmmsg(x64emu_t* emu, int socket, struct i386_mmsghdr* msgs, u { struct mmsghdr m[vlen]; uint32_t iovlen = 0; - size_t ctrlen = 0; for(uint32_t i=0; i<vlen; ++i) { if(msgs[i].msg_hdr.msg_iovlen>iovlen) iovlen = msgs[i].msg_hdr.msg_iovlen; - if(msgs[i].msg_hdr.msg_controllen>ctrlen) ctrlen = msgs[i].msg_hdr.msg_controllen; m[i].msg_len = msgs[i].msg_len; } struct iovec iov[vlen][iovlen]; - uint8_t buff[vlen][ctrlen+256]; for(uint32_t i=0; i<vlen; ++i) - AlignMsgHdr_32(&m[i].msg_hdr, iov[i], buff[i], &msgs[i].msg_hdr, 1); + AlignMsgHdr_32(&m[i].msg_hdr, iov[i], &msgs[i].msg_hdr); int ret = sendmmsg(socket, m, vlen, flags); for(uint32_t i=0; i<vlen; ++i) { UnalignMsgHdr_32(&msgs[i].msg_hdr, &m[i].msg_hdr); |