authorgravatar for johnnymarler@gmail.comJonathan Marler <johnnymarler@gmail.com> 2020-05-30 09:56:52-06:00
committergravatar for johnnymarler@gmail.comJonathan Marler <johnnymarler@gmail.com> 2020-05-30 09:56:52-06:00
log2bae91e7697dfcaee7e250c813715fc4051ac51a
tree99d2220e0587d2813e6fe2d812247cd08c4f90e1
parent2eaab1e65e23ebc0a736ce96073a43bf59c916ea

convert getaddrinfo rc to enum before switching on it


1 files changed, 11 insertions(+), 13 deletions(-)

lib/std/net.zig+11-13
...@@ -454,19 +454,17 @@ pub fn getAddressList(allocator: *mem.Allocator, name: []const u8, port: u16) !*...@@ -454,19 +454,17 @@ pub fn getAddressList(allocator: *mem.Allocator, name: []const u8, port: u16) !*
454 const rc = sys.getaddrinfo(name_c.ptr, @ptrCast([*:0]const u8, port_c.ptr), &hints, &res);454 const rc = sys.getaddrinfo(name_c.ptr, @ptrCast([*:0]const u8, port_c.ptr), &hints, &res);
455 if (builtin.os.tag == .windows) {455 if (builtin.os.tag == .windows) {
456 const ws2_32 = os.windows.ws2_32;456 const ws2_32 = os.windows.ws2_32;
457 switch (rc) {457 if (rc != 0) switch (@intToEnum(os.windows.ws2_32.WinsockError, @intCast(u16, rc))) {
458 0 => {},458 .WSATRY_AGAIN => return error.TemporaryNameServerFailure,
459 @enumToInt(ws2_32.WinsockError.WSATRY_AGAIN) => return error.TemporaryNameServerFailure,459 .WSANO_RECOVERY => return error.NameServerFailure,
460 @enumToInt(ws2_32.WinsockError.WSANO_RECOVERY) => return error.NameServerFailure,460 .WSAEAFNOSUPPORT => return error.AddressFamilyNotSupported,
461 @enumToInt(ws2_32.WinsockError.WSAEAFNOSUPPORT) => return error.AddressFamilyNotSupported,461 .WSA_NOT_ENOUGH_MEMORY => return error.OutOfMemory,
462 @enumToInt(ws2_32.WinsockError.WSA_NOT_ENOUGH_MEMORY) => return error.OutOfMemory,462 .WSAHOST_NOT_FOUND => return error.UnknownHostName,
463 @enumToInt(ws2_32.WinsockError.WSAHOST_NOT_FOUND) => return error.UnknownHostName,463 .WSATYPE_NOT_FOUND => return error.ServiceUnavailable,
464 @enumToInt(ws2_32.WinsockError.WSATYPE_NOT_FOUND) => return error.ServiceUnavailable,464 .WSAEINVAL => unreachable,
465 @enumToInt(ws2_32.WinsockError.WSAEINVAL) => unreachable,465 .WSAESOCKTNOSUPPORT => unreachable,
466 @enumToInt(ws2_32.WinsockError.WSAESOCKTNOSUPPORT) => unreachable,466 else => |err| return os.windows.unexpectedWSAError(err),
467 else => |err| return os.windows.unexpectedWSAError(467 };
468 std.meta.intToEnum(ws2_32.WinsockError, err) catch unreachable),
469 }
470 } else {468 } else {
471 switch (rc) {469 switch (rc) {
472 @intToEnum(sys.EAI, 0) => {},470 @intToEnum(sys.EAI, 0) => {},