]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/socket.cpp
Various fixes.
[wxWidgets.git] / src / common / socket.cpp
index e217cc6914d0ba271908987d574b24b5c2dda340..d6919eb2f02b5c17cbcc1a096fdd74c5c852ba4a 100644 (file)
@@ -31,6 +31,9 @@
 #include <wx/timer.h>
 #include <wx/utils.h>
 
+// Not enough OS behaviour defined for wxStubs
+#ifndef __WXSTUBS__
+
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
 #endif
 
 #ifdef __WXMOTIF__
-#define wxAPP_CONTEXT wxTheApp->appContext
+#define wxAPP_CONTEXT ((XtAppContext)wxTheApp->GetAppContext())
 #endif
 
 #ifdef __WINDOWS__
@@ -458,11 +461,7 @@ bool wxSocketBase::GetPeer(wxSockAddress& addr_man) const
   if (m_fd < 0)
     return FALSE;
 
-#ifdef __WINDOWS__
   if (getpeername(m_fd, (struct sockaddr *)&my_addr, (int *)&len_addr) < 0)
-#else
-  if (getpeername(m_fd, (struct sockaddr *)&my_addr, (unsigned int *)&len_addr) < 0)
-#endif
     return FALSE;
 
   addr_man.Disassemble(&my_addr, len_addr);
@@ -477,11 +476,7 @@ bool wxSocketBase::GetLocal(wxSockAddress& addr_man) const
   if (m_fd < 0)
     return FALSE;
 
-#ifdef __WINDOWS__
   if (getsockname(m_fd, (struct sockaddr *)&my_addr, (int *)&len_addr) < 0)
-#else
-  if (getsockname(m_fd, (struct sockaddr *)&my_addr, (unsigned int *)&len_addr) < 0)
-#endif
     return FALSE;
 
   addr_man.Disassemble(&my_addr, len_addr);
@@ -1039,8 +1034,10 @@ void wxSocketBase::WantSpeedBuffer(char *buffer, size_t nbytes,
   if (ret < 0) {
     m_lcount = 0;
     m_error = errno;
-  } else
+  } else {
     m_lcount = ret;
+    m_error = 0;
+  }
 }
 
 void wxSocketBase::WantBuffer(char *buffer, size_t nbytes,
@@ -1251,9 +1248,9 @@ bool wxSocketClient::Connect(wxSockAddress& addr_man, bool WXUNUSED(wait) )
   return TRUE;
 }
 
-bool wxSocketClient::WaitOnConnect(long seconds)
+bool wxSocketClient::WaitOnConnect(long seconds, long microseconds)
 {
-  int ret = _Wait(seconds, 0, REQ_CONNECT | REQ_LOST);
+  int ret = _Wait(seconds, microseconds, REQ_CONNECT | REQ_LOST);
 
   if (ret)
     m_connected = TRUE;
@@ -1545,3 +1542,6 @@ HWND wxSocketHandler::GetHWND() const
 }
 
 #endif
+
+#endif
+  // __WXSTUBS__