From 5efc0ea89e76a270a0232fdb87ca4c0448ae65be Mon Sep 17 00:00:00 2001 From: Luna Date: Sun, 1 Dec 2019 13:12:23 -0300 Subject: [PATCH] std.os: make setsockopt receive a slice as option --- lib/std/os.zig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/std/os.zig b/lib/std/os.zig index 7d20802ba8..855a61d955 100644 --- a/lib/std/os.zig +++ b/lib/std/os.zig @@ -3252,8 +3252,8 @@ pub fn sched_yield() SchedYieldError!void { } /// Set a socket's options. -pub fn setsockopt(fd: fd_t, level: u32, optname: u32, optval: [*]const u8, optlen: socklen_t) !void { - switch (errno(system.setsockopt(fd, level, optname, optval, optlen))) { +pub fn setsockopt(fd: fd_t, level: u32, optname: u32, opt: []const u8) !void { + switch (errno(system.setsockopt(fd, level, optname, opt.ptr, @intCast(socklen_t, opt.len)))) { 0 => {}, EBADF => unreachable, EINVAL => unreachable, @@ -3261,7 +3261,6 @@ pub fn setsockopt(fd: fd_t, level: u32, optname: u32, optval: [*]const u8, optle EISCONN => return error.AlreadyConnected, ENOPROTOOPT => return error.InvalidProtocolOption, ENOTSOCK => return error.NotSocket, - ENOMEM => return error.OutOfMemory, ENOBUFS => return error.SystemResources,