authorgravatar for john.schmidt.h@gmail.comJohn Schmidt <john.schmidt.h@gmail.com> 2022-01-12 18:37:18+01:00
committergravatar for john.schmidt.h@gmail.comJohn Schmidt <john.schmidt.h@gmail.com> 2022-01-14 13:44:38+01:00
logc992164dc71ec38c42d14a0c9380a19b8e357880
tree159d89c492c1edcad6f8f0fbe08bf9052c0000e1
parent66fe5bb0d8c5e6279e2b68459b6b37d9244210bc

Check for isDarwin() instead of linked libc


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

lib/std/net.zig+1-1
...@@ -650,7 +650,7 @@ fn if_nametoindex(name: []const u8) !u32 {...@@ -650,7 +650,7 @@ fn if_nametoindex(name: []const u8) !u32 {
650 return @bitCast(u32, ifr.ifru.ivalue);650 return @bitCast(u32, ifr.ifru.ivalue);
651 }651 }
652652
653 if (builtin.link_libc) {653 if (comptime builtin.target.os.tag.isDarwin()) {
654 if (name.len >= os.IFNAMESIZE)654 if (name.len >= os.IFNAMESIZE)
655 return error.NameTooLong;655 return error.NameTooLong;
656656
lib/std/net/test.zig+2-2
...@@ -49,7 +49,7 @@ test "parse and render IPv6 addresses" {...@@ -49,7 +49,7 @@ test "parse and render IPv6 addresses" {
49 try testing.expectError(error.Incomplete, net.Address.parseIp6("FF01:", 0));49 try testing.expectError(error.Incomplete, net.Address.parseIp6("FF01:", 0));
50 try testing.expectError(error.InvalidIpv4Mapping, net.Address.parseIp6("::123.123.123.123", 0));50 try testing.expectError(error.InvalidIpv4Mapping, net.Address.parseIp6("::123.123.123.123", 0));
51 // TODO Make this test pass on other operating systems.51 // TODO Make this test pass on other operating systems.
52 if (builtin.os.tag == .linux or builtin.link_libc) {52 if (builtin.os.tag == .linux or comptime builtin.os.tag.isDarwin()) {
53 try testing.expectError(error.Incomplete, net.Address.resolveIp6("ff01::fb%", 0));53 try testing.expectError(error.Incomplete, net.Address.resolveIp6("ff01::fb%", 0));
54 try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%wlp3s0s0s0s0s0s0s0s0", 0));54 try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%wlp3s0s0s0s0s0s0s0s0", 0));
55 try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%12345678901234", 0));55 try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%12345678901234", 0));
...@@ -57,7 +57,7 @@ test "parse and render IPv6 addresses" {...@@ -57,7 +57,7 @@ test "parse and render IPv6 addresses" {
57}57}
5858
59test "invalid but parseable IPv6 scope ids" {59test "invalid but parseable IPv6 scope ids" {
60 if (builtin.os.tag != .linux or !builtin.link_libc) {60 if (builtin.os.tag != .linux or comptime !builtin.os.tag.isDarwin()) {
61 // Currently, resolveIp6 with alphanumerical scope IDs only works on Linux.61 // Currently, resolveIp6 with alphanumerical scope IDs only works on Linux.
62 // TODO Make this test pass on other operating systems.62 // TODO Make this test pass on other operating systems.
63 return error.SkipZigTest;63 return error.SkipZigTest;
lib/std/x/os/net.zig+1-1
...@@ -16,7 +16,7 @@ pub fn resolveScopeId(name: []const u8) !u32 {...@@ -16,7 +16,7 @@ pub fn resolveScopeId(name: []const u8) !u32 {
16 if (have_ifnamesize) {16 if (have_ifnamesize) {
17 if (name.len >= os.IFNAMESIZE) return error.NameTooLong;17 if (name.len >= os.IFNAMESIZE) return error.NameTooLong;
1818
19 if (native_os.tag == .windows or builtin.link_libc) {19 if (native_os.tag == .windows or comptime native_os.tag.isDarwin()) {
20 var interface_name: [os.IFNAMESIZE:0]u8 = undefined;20 var interface_name: [os.IFNAMESIZE:0]u8 = undefined;
21 mem.copy(u8, &interface_name, name);21 mem.copy(u8, &interface_name, name);
22 interface_name[name.len] = 0;22 interface_name[name.len] = 0;