authorgravatar for karel.marek@kernun.czKarel Marek <karel.marek@kernun.cz> 2026-02-12 10:16:42+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-13 06:09:47+01:00
log37109fa4ef5beea9c4ec1ea78e4fcc02df34be3c
tree3c0d1cac4efda72b256aa044ab80974913376dcc
parent251f54d1d7d0f871f551c54d77f1a8238a041983

Fix IpAddress.setPort


1 files changed, 8 insertions(+), 2 deletions(-)

lib/std/Io/net.zig+8-2
...@@ -153,8 +153,9 @@ pub const IpAddress = union(enum) {...@@ -153,8 +153,9 @@ pub const IpAddress = union(enum) {
153153
154 /// `port` is native-endian.154 /// `port` is native-endian.
155 pub fn setPort(a: *IpAddress, port: u16) void {155 pub fn setPort(a: *IpAddress, port: u16) void {
156 switch (a) {156 switch (a.*) {
157 inline .ip4, .ip6 => |*x| x.port = port,157 .ip4 => a.ip4.port = port,
158 .ip6 => a.ip6.port = port,
158 }159 }
159 }160 }
160161
...@@ -1430,6 +1431,11 @@ test "parsing IPv6 addresses" {...@@ -1430,6 +1431,11 @@ test "parsing IPv6 addresses" {
1430 try testIp6Parse("ff02::");1431 try testIp6Parse("ff02::");
1431 try testIp6Parse("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");1432 try testIp6Parse("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");
1432}1433}
1434test "IpAddress.setPort works" {
1435 var addr: IpAddress = .{ .ip4 = undefined };
1436 addr.setPort(0);
1437 try std.testing.expectEqual(0, addr.getPort());
1438}
14331439
1434fn testIp6Parse(input: []const u8) !void {1440fn testIp6Parse(input: []const u8) !void {
1435 return testIp6ParseTransform(input, input);1441 return testIp6ParseTransform(input, input);