X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/35a4dab713ccc16c2414aa18d360aa40929fd60c..40d4abbc708eb214e48566091f85ba6e3d50c93f:/src/common/sckstrm.cpp diff --git a/src/common/sckstrm.cpp b/src/common/sckstrm.cpp index c0b5332b04..df93922870 100644 --- a/src/common/sckstrm.cpp +++ b/src/common/sckstrm.cpp @@ -16,14 +16,15 @@ #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif -#if wxUSE_SOCKETS - #ifndef WX_PRECOMP + #include "wx/defs.h" #endif +#if wxUSE_SOCKETS && wxUSE_STREAMS + #include "wx/stream.h" #include "wx/socket.h" #include "wx/sckstrm.h" @@ -41,15 +42,21 @@ wxSocketOutputStream::~wxSocketOutputStream() { } -wxOutputStream& wxSocketOutputStream::Write(const void *buffer, size_t size) -{ - m_lastcount = m_o_socket->Write((const char *)buffer, size).LastCount(); - return *this; -} - size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size) { - return m_o_socket->Write((const char *)buffer, size).LastCount(); + size_t ret; + + ret = m_o_socket->Write((const char *)buffer, size).LastCount(); + switch (m_o_socket->LastError()) { + case GSOCK_NOERROR: + m_lasterror = wxStream_NOERROR; + break; + default: + m_lasterror = wxStream_READ_ERR; + break; + } + return ret; + } // --------------------------------------------------------------------------- @@ -65,15 +72,20 @@ wxSocketInputStream::~wxSocketInputStream() { } -wxInputStream& wxSocketInputStream::Read(void *buffer, size_t size) -{ - m_lastcount = m_i_socket->Read((char *)buffer, size).LastCount(); - return *this; -} - size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size) { - return m_i_socket->Read((char *)buffer, size).LastCount(); + size_t ret; + + ret = m_i_socket->Read((char *)buffer, size).LastCount(); + switch (m_i_socket->LastError()) { + case GSOCK_NOERROR: + m_lasterror = wxStream_NOERROR; + break; + default: + m_lasterror = wxStream_WRITE_ERR; + break; + } + return ret; } // --------------------------------------------------------------------------- @@ -90,3 +102,4 @@ wxSocketStream::~wxSocketStream() } #endif + // wxUSE_STREAMS && wxUSE_SOCKETS