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 {
650650 return @bitCast(u32, ifr.ifru.ivalue);
651651 }
652652
653 if (builtin.link_libc) {
653 if (comptime builtin.target.os.tag.isDarwin()) {
654654 if (name.len >= os.IFNAMESIZE)
655655 return error.NameTooLong;
656656
lib/std/net/test.zig+2-2
......@@ -49,7 +49,7 @@ test "parse and render IPv6 addresses" {
4949 try testing.expectError(error.Incomplete, net.Address.parseIp6("FF01:", 0));
5050 try testing.expectError(error.InvalidIpv4Mapping, net.Address.parseIp6("::123.123.123.123", 0));
5151 // 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()) {
5353 try testing.expectError(error.Incomplete, net.Address.resolveIp6("ff01::fb%", 0));
5454 try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%wlp3s0s0s0s0s0s0s0s0", 0));
5555 try testing.expectError(error.Overflow, net.Address.resolveIp6("ff01::fb%12345678901234", 0));
......@@ -57,7 +57,7 @@ test "parse and render IPv6 addresses" {
5757}
5858
5959test "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()) {
6161 // Currently, resolveIp6 with alphanumerical scope IDs only works on Linux.
6262 // TODO Make this test pass on other operating systems.
6363 return error.SkipZigTest;
lib/std/x/os/net.zig+1-1
......@@ -16,7 +16,7 @@ pub fn resolveScopeId(name: []const u8) !u32 {
1616 if (have_ifnamesize) {
1717 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()) {
2020 var interface_name: [os.IFNAMESIZE:0]u8 = undefined;
2121 mem.copy(u8, &interface_name, name);
2222 interface_name[name.len] = 0;