From 9aee9deca972b405a09033456ec2f270eea96cd3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 13 Jun 2024 18:17:39 +0300 Subject: code cleaning --- src/mir_app/src/netlib_bind.cpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/mir_app/src/netlib_bind.cpp b/src/mir_app/src/netlib_bind.cpp index 49cd9bf829..079d55df64 100644 --- a/src/mir_app/src/netlib_bind.cpp +++ b/src/mir_app/src/netlib_bind.cpp @@ -189,6 +189,9 @@ MIR_APP_DLL(HNETLIBBIND) Netlib_BindPort(HNETLIBUSER nlu, NETLIBBIND *nlb) return nullptr; } + if (nlb->iType == 0) + nlb->iType = SOCK_STREAM; + NetlibBoundPort *nlbp = new NetlibBoundPort(nlu, nlb); if (nlbp->s == INVALID_SOCKET && nlbp->s6 == INVALID_SOCKET) { Netlib_Logf(nlu, "%s %d: %s() failed (%u)", __FILE__, __LINE__, "socket", WSAGetLastError()); @@ -240,17 +243,19 @@ LBL_Error: goto LBL_Error; } - if (nlbp->s != INVALID_SOCKET && listen(nlbp->s, 5)) { - Netlib_Logf(nlu, "%s %d: %s() failed (%u)", __FILE__, __LINE__, "listen", WSAGetLastError()); - goto LBL_Error; - } + if (nlb->iType == SOCK_STREAM) { + if (nlbp->s != INVALID_SOCKET && listen(nlbp->s, 5)) { + Netlib_Logf(nlu, "%s %d: %s() failed (%u)", __FILE__, __LINE__, "listen", WSAGetLastError()); + goto LBL_Error; + } - if (nlbp->s6 != INVALID_SOCKET && listen(nlbp->s6, 5)) { - Netlib_Logf(nlu, "%s %d: %s() failed (%u)", __FILE__, __LINE__, "listen", WSAGetLastError()); - goto LBL_Error; + if (nlbp->s6 != INVALID_SOCKET && listen(nlbp->s6, 5)) { + Netlib_Logf(nlu, "%s %d: %s() failed (%u)", __FILE__, __LINE__, "listen", WSAGetLastError()); + goto LBL_Error; + } } - SOCKADDR_INET_M sinm = { 0 }; + SOCKADDR_INET_M sinm = {}; int len = sizeof(sinm); if (!getsockname(nlbp->s, (PSOCKADDR)&sinm, &len)) { nlb->wPort = ntohs(sinm.Ipv4.sin_port); @@ -290,7 +295,8 @@ LBL_Error: nlb->dwExternalIP = nlb->dwInternalIP; } - nlbp->hThread = mir_forkThread(NetlibBindAcceptThread, nlbp); + if (nlb->iType == SOCK_STREAM) + nlbp->hThread = mir_forkThread(NetlibBindAcceptThread, nlbp); if (GetSubscribersCount((THook*)hEventConnected)) { NETLIBCONNECTIONEVENTINFO ncei = {}; @@ -313,9 +319,8 @@ NetlibBoundPort::NetlibBoundPort(HNETLIBUSER _nlu, NETLIBBIND *nlb) : pfnNewConnection = nlb->pfnNewConnection; pExtra = nlb->pExtra; - int type = (nlb->iType) ? nlb->iType : SOCK_STREAM; - s = socket(PF_INET, type, 0); - s6 = socket(PF_INET6, type, 0); + s = socket(PF_INET, nlb->iType, 0); + s6 = socket(PF_INET6, nlb->iType, 0); } void NetlibBoundPort::close() -- cgit v1.2.3