authorgravatar for 4678790+dweiller@users.noreply.github.comDominic <4678790+dweiller@users.noreply.github.com> 2023-05-16 00:18:30+10:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-06-03 13:45:52-07:00
log3add9d8257d9414421acf91823917d9d49b28c6f
tree1a159c42f22d2bcfc33ed00db66a14f2620be735
parentff57a264ad99562de16d9565d5bd4ac9cd964e5d

std.c: fix return type of recv/recvfrom on windows

Windows defines `recv` and `recvfrom` to return a value of type `int`, rather than a pointer-sized signed integer, and so should use `c_int` rather than `isize` for their return types.

1 files changed, 7 insertions(+), 2 deletions(-)

lib/std/c.zig+7-2
...@@ -213,7 +213,12 @@ pub extern "c" fn sendto(...@@ -213,7 +213,12 @@ pub extern "c" fn sendto(
213) isize;213) isize;
214pub extern "c" fn sendmsg(sockfd: c.fd_t, msg: *const c.msghdr_const, flags: u32) isize;214pub extern "c" fn sendmsg(sockfd: c.fd_t, msg: *const c.msghdr_const, flags: u32) isize;
215215
216pub extern "c" fn recv(sockfd: c.fd_t, arg1: ?*anyopaque, arg2: usize, arg3: c_int) isize;216pub extern "c" fn recv(
217 sockfd: c.fd_t,
218 arg1: ?*anyopaque,
219 arg2: usize,
220 arg3: c_int,
221) if (builtin.os.tag == .windows) c_int else isize;
217pub extern "c" fn recvfrom(222pub extern "c" fn recvfrom(
218 sockfd: c.fd_t,223 sockfd: c.fd_t,
219 noalias buf: *anyopaque,224 noalias buf: *anyopaque,
...@@ -221,7 +226,7 @@ pub extern "c" fn recvfrom(...@@ -221,7 +226,7 @@ pub extern "c" fn recvfrom(
221 flags: u32,226 flags: u32,
222 noalias src_addr: ?*c.sockaddr,227 noalias src_addr: ?*c.sockaddr,
223 noalias addrlen: ?*c.socklen_t,228 noalias addrlen: ?*c.socklen_t,
224) isize;229) if (builtin.os.tag == .windows) c_int else isize;
225pub extern "c" fn recvmsg(sockfd: c.fd_t, msg: *c.msghdr, flags: u32) isize;230pub extern "c" fn recvmsg(sockfd: c.fd_t, msg: *c.msghdr, flags: u32) isize;
226231
227pub extern "c" fn kill(pid: c.pid_t, sig: c_int) c_int;232pub extern "c" fn kill(pid: c.pid_t, sig: c_int) c_int;