Commit 5efc0ea89e

Luna <git@l4.pm>
2019-12-01 17:12:23
std.os: make setsockopt receive a slice as option
1 parent ea8f496
Changed files (1)
lib
std
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,