#include "wx/object.h"
#include "wx/log.h"
#include "wx/intl.h"
+ #include "wx/thread.h"
#include <stdio.h>
#include <stdlib.h>
typedef char wxGetservBuf[1024];
#endif
-#ifdef wxHAS_MT_SAFE_GETBY_FUNCS
+#if defined(wxHAS_MT_SAFE_GETBY_FUNCS) || !wxUSE_THREADS
#define wxLOCK_GETBY_MUTEX(name)
#else // may need mutexes to protect getxxxbyxxx() calls
#if defined(HAVE_GETHOSTBYNAME) || \
if ( !addr )
return false;
- const wxUTF8Buf namebuf(name.utf8_str());
+ const wxScopedCharBuffer namebuf(name.utf8_str());
// first check if this is an address in quad dotted notation
#if defined(HAVE_INET_ATON)
if ( !addr )
return false;
- const wxUTF8Buf buf(path.utf8_str());
+ const wxScopedCharBuffer buf(path.utf8_str());
if ( strlen(buf) >= UNIX_PATH_MAX )
return false;
// wxSockAddress
// ----------------------------------------------------------------------------
+const sockaddr *wxSockAddress::GetAddressData() const
+{
+ return GetAddress().GetAddr();
+}
+
+int wxSockAddress::GetAddressDataLen() const
+{
+ return GetAddress().GetLen();
+}
+
void wxSockAddress::Init()
{
- if ( !wxSocketBase::IsInitialized() )
+ if ( wxIsMainThread() && !wxSocketBase::IsInitialized() )
{
// we must do it before using any socket functions
(void)wxSocketBase::Initialize();