X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/de6185e212ebc37ff11ff70278e3c4f68419b097..1748289348c4c7dcc467edbf7192ade8a1b78921:/src/common/socket.cpp diff --git a/src/common/socket.cpp b/src/common/socket.cpp index 048fe30407..e36bfe9768 100644 --- a/src/common/socket.cpp +++ b/src/common/socket.cpp @@ -32,11 +32,11 @@ #include "wx/event.h" #include "wx/app.h" #include "wx/utils.h" + #include "wx/timer.h" + #include "wx/module.h" #endif #include "wx/apptrait.h" -#include "wx/timer.h" -#include "wx/module.h" #include "wx/sckaddr.h" #include "wx/datetime.h" @@ -330,11 +330,9 @@ wxUint32 wxSocketBase::_Read(void* buffer, wxUint32 nbytes) // Return now in one of the following cases: // - the socket is invalid, - // - we got all the data, - // - we got *some* data and we are not using wxSOCKET_WAITALL. + // - we got all the data if ( !m_socket || - !nbytes || - ((total != 0) && !(m_flags & wxSOCKET_WAITALL)) ) + !nbytes ) return total; // Possible combinations (they are checked in this order) @@ -1346,14 +1344,18 @@ wxDatagramSocket::wxDatagramSocket( const wxSockAddress& addr, // Create the socket m_socket = GSocket_new(); - if(!m_socket) + if (!m_socket) { wxFAIL_MSG( _T("datagram socket not new'd") ); return; } // Setup the socket as non connection oriented m_socket->SetLocal(addr.GetAddress()); - if( m_socket->SetNonOriented() != GSOCK_NOERROR ) + if (flags & wxSOCKET_REUSEADDR) + { + m_socket->SetReusable(); + } + if ( m_socket->SetNonOriented() != GSOCK_NOERROR ) { delete m_socket; m_socket = NULL;