diff --git a/r5dev/engine/shared/base_rcon.cpp b/r5dev/engine/shared/base_rcon.cpp index 819ac43c..6cc21764 100644 --- a/r5dev/engine/shared/base_rcon.cpp +++ b/r5dev/engine/shared/base_rcon.cpp @@ -90,9 +90,9 @@ void CNetConBase::Recv(CConnectedNetConsoleData* pData, const int nMaxLen) { return; } - if (nPendingLen <= 0) // EOF or error. + else if (nPendingLen == 0) // Socket was closed. { - Disconnect("unexpected EOF or error"); + Disconnect("remote closed socket"); return; } }////////////////////////////////////////////// @@ -106,8 +106,6 @@ void CNetConBase::Recv(CConnectedNetConsoleData* pData, const int nMaxLen) return; } - bool bSuccess = true; - while (nReadLen > 0) { const int nRecvLen = ::recv(pData->m_hSocket, szRecvBuf, MIN(sizeof(szRecvBuf), nReadLen), MSG_NOSIGNAL); @@ -123,10 +121,7 @@ void CNetConBase::Recv(CConnectedNetConsoleData* pData, const int nMaxLen) } nReadLen -= nRecvLen; // Process what we've got. - if (!ProcessBuffer(pData, szRecvBuf, nRecvLen, nMaxLen) && bSuccess) - { - bSuccess = false; - } + ProcessBuffer(pData, szRecvBuf, nRecvLen, nMaxLen); } return;