authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-11 12:07:06-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-14 00:16:49-07:00
log890f1fa848c8d55366fb3c5ff90247fe44ad7ccf
tree4efcd0e5c0501ac56e892c47bac0c2033e3a8f51
parent9a1f4cb011f8e6d5bc8355a7aaed37b437453e18

make msghdr.iovlen unsigned

I don't care what C headers say. This value is never supposed to be negative.

2 files changed, 3 insertions(+), 3 deletions(-)

lib/std/c.zig+2-2
......@@ -4110,7 +4110,7 @@ pub const msghdr_const = switch (native_os) {
41104110 /// scatter/gather array
41114111 iov: [*]const iovec_const,
41124112 /// # elements in iov
4113 iovlen: i32,
4113 iovlen: u32,
41144114 /// ancillary data
41154115 control: ?*const anyopaque,
41164116 /// ancillary data buffer len
......@@ -4122,7 +4122,7 @@ pub const msghdr_const = switch (native_os) {
41224122 name: ?*const anyopaque,
41234123 namelen: socklen_t,
41244124 iov: [*]const iovec,
4125 iovlen: c_int,
4125 iovlen: c_uint,
41264126 control: ?*const anyopaque,
41274127 controllen: socklen_t,
41284128 flags: c_int,
lib/std/net.zig+1-1
......@@ -2125,7 +2125,7 @@ pub const Stream = struct {
21252125 return .{ .handle = w.file_writer.file.handle };
21262126 }
21272127
2128 fn addBuf(v: []posix.iovec_const, i: *usize, bytes: []const u8) void {
2128 fn addBuf(v: []posix.iovec_const, i: *@FieldType(posix.msghdr_const, "iovlen"), bytes: []const u8) void {
21292129 // OS checks ptr addr before length so zero length vectors must be omitted.
21302130 if (bytes.len == 0) return;
21312131 if (v.len - i.* == 0) return;