From 635f2bad9037c6911097b6903057d8ab09336a86 Mon Sep 17 00:00:00 2001 From: Kevin Hock Date: Sun, 14 May 2006 19:49:19 +0000 Subject: [PATCH] Continue reading after checking the pushback buffer if more data is requested. Otherwise, once any data if placed in the pushback buffer, no more data will be read from the socket, even if more data is requested. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 3 ++- src/common/socket.cpp | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index d0ec88bfb5..405a87cb06 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -73,7 +73,8 @@ All: the first time it was called. - Added wxString::rbegin() and rend() - Added wxString::EndsWith() - +- wxSocket::_Read continues reading from socket after exhausting pushback buffer. + Previously, only the buffer would be returned, even if more data was requested. All (GUI): diff --git a/src/common/socket.cpp b/src/common/socket.cpp index 048fe30407..080518cd0e 100644 --- a/src/common/socket.cpp +++ b/src/common/socket.cpp @@ -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) -- 2.50.0