From ddcdb654ade9a0098ea8f64459216d16f4a0d8e5 Mon Sep 17 00:00:00 2001 From: nmzik Date: Sun, 6 Sep 2026 04:47:15 +0400 Subject: [PATCH] net: share native connect and accept --- src/libs/network.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/libs/network.cpp b/src/libs/network.cpp index 3ec2e53d0..c52e8329f 100644 --- a/src/libs/network.cpp +++ b/src/libs/network.cpp @@ -1712,23 +1712,17 @@ int KYTY_SYSV_ABI Connect(int s, const void* addr, uint32_t addrlen) { return -1; } -#if defined(_WIN32) sockaddr_storage host_addr {}; - int host_addrlen = 0; + SocketLength host_addrlen = 0; if (ConvertGuestSockaddr(addr, addrlen, &host_addr, &host_addrlen) != 0) { return -1; } - if (::connect(socket, reinterpret_cast(&host_addr), host_addrlen) == - SOCKET_ERROR) { + if (::connect(socket, reinterpret_cast(&host_addr), host_addrlen) != 0) { return SetHostSocketError(); } return 0; -#else - *Posix::GetErrorAddr() = Posix::POSIX_ENOSYS; - return -1; -#endif } int KYTY_SYSV_ABI Listen(int s, int backlog) { @@ -1765,9 +1759,8 @@ int KYTY_SYSV_ABI Accept(int s, void* addr, uint32_t* addrlen) { return -1; } -#if defined(_WIN32) sockaddr_storage host_addr {}; - int host_addrlen = sizeof(host_addr); + SocketLength host_addrlen = sizeof(host_addr); NativeSocket accepted = ::accept(socket, reinterpret_cast(&host_addr), &host_addrlen); if (accepted == INVALID_NATIVE_SOCKET) { @@ -1776,7 +1769,11 @@ int KYTY_SYSV_ABI Accept(int s, void* addr, uint32_t* addrlen) { const int fd = AllocSocketFd(accepted); if (fd < 0) { +#if defined(_WIN32) closesocket(accepted); +#else + ::close(accepted); +#endif *Posix::GetErrorAddr() = Posix::POSIX_EMFILE; return -1; } @@ -1794,10 +1791,6 @@ int KYTY_SYSV_ABI Accept(int s, void* addr, uint32_t* addrlen) { } return fd; -#else - *Posix::GetErrorAddr() = Posix::POSIX_ENOSYS; - return -1; -#endif } int KYTY_SYSV_ABI Shutdown(int s, int how) {