aboutsummaryrefslogtreecommitdiff
path: root/lib/std/net.zig
diff options
context:
space:
mode:
authorJonathan Marler <johnnymarler@gmail.com>2020-05-30 09:56:52 -0600
committerJonathan Marler <johnnymarler@gmail.com>2020-05-30 09:56:52 -0600
commit2bae91e7697dfcaee7e250c813715fc4051ac51a (patch)
tree99d2220e0587d2813e6fe2d812247cd08c4f90e1 /lib/std/net.zig
parent2eaab1e65e23ebc0a736ce96073a43bf59c916ea (diff)
downloadzig-2bae91e7697dfcaee7e250c813715fc4051ac51a.tar.gz
zig-2bae91e7697dfcaee7e250c813715fc4051ac51a.zip
convert getaddrinfo rc to enum before switching on it
Diffstat (limited to 'lib/std/net.zig')
-rw-r--r--lib/std/net.zig24
1 files changed, 11 insertions, 13 deletions
diff --git a/lib/std/net.zig b/lib/std/net.zig
index 1c57f07c15..f60bc74925 100644
--- a/lib/std/net.zig
+++ b/lib/std/net.zig
@@ -454,19 +454,17 @@ pub fn getAddressList(allocator: *mem.Allocator, name: []const u8, port: u16) !*
const rc = sys.getaddrinfo(name_c.ptr, @ptrCast([*:0]const u8, port_c.ptr), &hints, &res);
if (builtin.os.tag == .windows) {
const ws2_32 = os.windows.ws2_32;
- switch (rc) {
- 0 => {},
- @enumToInt(ws2_32.WinsockError.WSATRY_AGAIN) => return error.TemporaryNameServerFailure,
- @enumToInt(ws2_32.WinsockError.WSANO_RECOVERY) => return error.NameServerFailure,
- @enumToInt(ws2_32.WinsockError.WSAEAFNOSUPPORT) => return error.AddressFamilyNotSupported,
- @enumToInt(ws2_32.WinsockError.WSA_NOT_ENOUGH_MEMORY) => return error.OutOfMemory,
- @enumToInt(ws2_32.WinsockError.WSAHOST_NOT_FOUND) => return error.UnknownHostName,
- @enumToInt(ws2_32.WinsockError.WSATYPE_NOT_FOUND) => return error.ServiceUnavailable,
- @enumToInt(ws2_32.WinsockError.WSAEINVAL) => unreachable,
- @enumToInt(ws2_32.WinsockError.WSAESOCKTNOSUPPORT) => unreachable,
- else => |err| return os.windows.unexpectedWSAError(
- std.meta.intToEnum(ws2_32.WinsockError, err) catch unreachable),
- }
+ if (rc != 0) switch (@intToEnum(os.windows.ws2_32.WinsockError, @intCast(u16, rc))) {
+ .WSATRY_AGAIN => return error.TemporaryNameServerFailure,
+ .WSANO_RECOVERY => return error.NameServerFailure,
+ .WSAEAFNOSUPPORT => return error.AddressFamilyNotSupported,
+ .WSA_NOT_ENOUGH_MEMORY => return error.OutOfMemory,
+ .WSAHOST_NOT_FOUND => return error.UnknownHostName,
+ .WSATYPE_NOT_FOUND => return error.ServiceUnavailable,
+ .WSAEINVAL => unreachable,
+ .WSAESOCKTNOSUPPORT => unreachable,
+ else => |err| return os.windows.unexpectedWSAError(err),
+ };
} else {
switch (rc) {
@intToEnum(sys.EAI, 0) => {},