diff --git a/lib/std/net.zig b/lib/std/net.zig index 78d59ae9c0f65f139a80039eb66fc9161e71dca3..f564a9dbd5d0a1e0824c2a040d1710242b861796 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -650,7 +650,7 @@ fn if_nametoindex(name: []const u8) !u32 { return @bitCast(u32, ifr.ifru.ivalue); } - if (builtin.link_libc) { + if (comptime builtin.target.os.tag.isDarwin()) { if (name.len >= os.IFNAMESIZE) return error.NameTooLong; diff --git a/lib/std/net/test.zig b/lib/std/net/test.zig index 0fa853151ae768d214ef54bbdfa674c90091526c..f2946777bd6c2531f8d3becc7bbc4b098ea8fe3d 100644 --- a/lib/std/net/test.zig +++ b/lib/std/net/test.zig @@ -49,7 +49,7 @@ test "parse and render IPv6 addresses" { try testing.expectError(error.Incomplete, net.Address.parseIp6("FF01:", 0)); try testing.expectError(error.InvalidIpv4Mapping, net.Address.parseIp6("::123.123.123.123", 0)); // TODO Make this test pass on other operating systems. - if (builtin.os.tag == .linux or builtin.link_libc) { + if (builtin.os.tag == .linux or comptime builtin.os.tag.isDarwin()) { try testing.expectError(error.Incomplete, net.Address.resolveIp6("ff01::fb%", 0)); try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%wlp3s0s0s0s0s0s0s0s0", 0)); try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%12345678901234", 0)); @@ -57,7 +57,7 @@ test "parse and render IPv6 addresses" { } test "invalid but parseable IPv6 scope ids" { - if (builtin.os.tag != .linux or !builtin.link_libc) { + if (builtin.os.tag != .linux or comptime !builtin.os.tag.isDarwin()) { // Currently, resolveIp6 with alphanumerical scope IDs only works on Linux. // TODO Make this test pass on other operating systems. return error.SkipZigTest; diff --git a/lib/std/x/os/net.zig b/lib/std/x/os/net.zig index 37a1d98137526c8a8a8ca66dc2591a43297d9a08..d4a17f867944e422de4f32bb197f44829abfa084 100644 --- a/lib/std/x/os/net.zig +++ b/lib/std/x/os/net.zig @@ -16,7 +16,7 @@ pub fn resolveScopeId(name: []const u8) !u32 { if (have_ifnamesize) { if (name.len >= os.IFNAMESIZE) return error.NameTooLong; - if (native_os.tag == .windows or builtin.link_libc) { + if (native_os.tag == .windows or comptime native_os.tag.isDarwin()) { var interface_name: [os.IFNAMESIZE:0]u8 = undefined; mem.copy(u8, &interface_name, name); interface_name[name.len] = 0;