From 890f1fa848c8d55366fb3c5ff90247fe44ad7ccf Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 11 Jul 2025 12:07:06 -0700 Subject: [PATCH] make msghdr.iovlen unsigned I don't care what C headers say. This value is never supposed to be negative. --- lib/std/c.zig | 4 ++-- lib/std/net.zig | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/std/c.zig b/lib/std/c.zig index 51f1ddfaeb..7ea3ca97a5 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -4110,7 +4110,7 @@ pub const msghdr_const = switch (native_os) { /// scatter/gather array iov: [*]const iovec_const, /// # elements in iov - iovlen: i32, + iovlen: u32, /// ancillary data control: ?*const anyopaque, /// ancillary data buffer len @@ -4122,7 +4122,7 @@ pub const msghdr_const = switch (native_os) { name: ?*const anyopaque, namelen: socklen_t, iov: [*]const iovec, - iovlen: c_int, + iovlen: c_uint, control: ?*const anyopaque, controllen: socklen_t, flags: c_int, diff --git a/lib/std/net.zig b/lib/std/net.zig index fa70a69e0f..f45da6f8ed 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -2125,7 +2125,7 @@ pub const Stream = struct { return .{ .handle = w.file_writer.file.handle }; } - fn addBuf(v: []posix.iovec_const, i: *usize, bytes: []const u8) void { + fn addBuf(v: []posix.iovec_const, i: *@FieldType(posix.msghdr_const, "iovlen"), bytes: []const u8) void { // OS checks ptr addr before length so zero length vectors must be omitted. if (bytes.len == 0) return; if (v.len - i.* == 0) return;