authorgravatar for truemedian@gmail.comNameless <truemedian@gmail.com> 2020-06-19 18:25:22-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-06-21 00:13:06-04:00
log56220449abcbbb0e308e0eadeb2e0e7c8a9e4cba
treefc2cac423891de1b668aa456aab1534d2cc15b07
parentedea7a46e5484e30c338699207c8f4b4d8370c97

Add errors to windows.WSAStartup and WSACleanup


1 files changed, 10 insertions(+), 1 deletions(-)

lib/std/os/windows.zig+10-1
......@@ -901,7 +901,13 @@ pub fn WSAStartup(majorVersion: u8, minorVersion: u8) !ws2_32.WSADATA {
901901 var wsadata: ws2_32.WSADATA = undefined;
902902 return switch (ws2_32.WSAStartup((@as(WORD, minorVersion) << 8) | majorVersion, &wsadata)) {
903903 0 => wsadata,
904 else => |err| unexpectedWSAError(@intToEnum(ws2_32.WinsockError, @intCast(u16, err))),
904 else => |err_int| switch (@intToEnum(ws2_32.WinsockError, @intCast(u16, err_int))) {
905 .WSASYSNOTREADY => return error.SystemNotAvailable,
906 .WSAVERNOTSUPPORTED => return error.VersionNotSupported,
907 .WSAEINPROGRESS => return error.BlockingOperationInProgress,
908 .WSAEPROCLIM => return error.SystemResources,
909 else => |err| return unexpectedWSAError(err),
910 },
905911 };
906912}
907913
......@@ -909,6 +915,9 @@ pub fn WSACleanup() !void {
909915 return switch (ws2_32.WSACleanup()) {
910916 0 => {},
911917 ws2_32.SOCKET_ERROR => switch (ws2_32.WSAGetLastError()) {
918 .WSANOTINITIALISED => return error.NotInitialized,
919 .WSAENETDOWN => return error.NetworkNotAvailable,
920 .WSAEINPROGRESS => return error.BlockingOperationInProgress,
912921 else => |err| return unexpectedWSAError(err),
913922 },
914923 else => unreachable,