authorgravatar for sentrycraft123@gmail.comJan200101 <sentrycraft123@gmail.com> 2026-04-08 14:13:53+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-04-08 20:11:25+02:00
log4bdbcfe95b8f1c1575d045b18225ba743000f956
tree8eedd94bd9b6065936aa7342f79991bcb0484dc9
parent6193470ceea89a986eb38a9abd7548118d18aab7

std.posix: handle ENOTCONN in getpeername


1 files changed, 4 insertions(+), 0 deletions(-)

lib/std/posix.zig+4
...@@ -513,6 +513,9 @@ pub const GetSockNameError = error{...@@ -513,6 +513,9 @@ pub const GetSockNameError = error{
513 SocketNotBound,513 SocketNotBound,
514514
515 FileDescriptorNotASocket,515 FileDescriptorNotASocket,
516
517 /// The socket is not connected (connection-oriented sockets only).
518 SocketUnconnected,
516} || UnexpectedError;519} || UnexpectedError;
517520
518pub fn getpeername(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSockNameError!void {521pub fn getpeername(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSockNameError!void {
...@@ -529,6 +532,7 @@ pub fn getpeername(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSock...@@ -529,6 +532,7 @@ pub fn getpeername(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSock
529 .INVAL => unreachable, // invalid parameters532 .INVAL => unreachable, // invalid parameters
530 .NOTSOCK => return error.FileDescriptorNotASocket,533 .NOTSOCK => return error.FileDescriptorNotASocket,
531 .NOBUFS => return error.SystemResources,534 .NOBUFS => return error.SystemResources,
535 .NOTCONN => return error.SocketUnconnected,
532 }536 }
533 }537 }
534}538}