commit 5efc0ea89e76a270a0232fdb87ca4c0448ae65be (tree)
parent ea8f496970f95a11417a9c8f5a671e3676681d1e
Author: Luna <git@l4.pm>
Date: Sun, 1 Dec 2019 13:12:23 -0300
std.os: make setsockopt receive a slice as option
Diffstat:
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git 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,