]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sckstrm.cpp
Fix memory leak by letting the base class version handle the
[wxWidgets.git] / src / common / sckstrm.cpp
index ebb6441a11398cef41d69f8e35c9bfc27aebd889..2fd15c9a78bac048e1b55d02ca0b5f959700501a 100644 (file)
@@ -6,9 +6,9 @@
 // Created:     17/07/97
 // RCS-ID:      $Id$
 // Copyright:   (c)
-// Licence:     wxWindows licence
+// Licence:     wxWidgets licence
 /////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "sckstrm.h"
 #endif
 
@@ -44,17 +44,11 @@ wxSocketOutputStream::~wxSocketOutputStream()
 
 size_t wxSocketOutputStream::OnSysWrite(const void *buffer, size_t size)
 {
-  size_t ret;
+  size_t ret = m_o_socket->Write((const char *)buffer, size).LastCount();
 
-  ret = m_o_socket->Write((const char *)buffer, size).LastCount();
-
-  if (ret > 0)
-    m_lasterror = wxStream_NOERROR;
-  else
-    m_lasterror = wxStream_READ_ERR;
+  m_lasterror = m_o_socket->Error() ? wxSTREAM_WRITE_ERROR : wxSTREAM_NO_ERROR;
 
   return ret;
-
 }
 
 // ---------------------------------------------------------------------------
@@ -72,14 +66,9 @@ wxSocketInputStream::~wxSocketInputStream()
 
 size_t wxSocketInputStream::OnSysRead(void *buffer, size_t size)
 {
-  size_t ret;
-
-  ret = m_i_socket->Read((char *)buffer, size).LastCount();
+  size_t ret = m_i_socket->Read((char *)buffer, size).LastCount();
 
-  if (ret > 0)
-    m_lasterror = wxStream_NOERROR;
-  else
-    m_lasterror = wxStream_READ_ERR;
+  m_lasterror = m_i_socket->Error() ? wxSTREAM_READ_ERROR : wxSTREAM_NO_ERROR;
 
   return ret;
 }