X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9d04caf8b54d6ecec207c5ef45ecfda8422c0bec..26022721e88892446ebcfc34bc34384492952fa9:/src/common/sckaddr.cpp diff --git a/src/common/sckaddr.cpp b/src/common/sckaddr.cpp index 76e6163d22..5f2797cf5c 100644 --- a/src/common/sckaddr.cpp +++ b/src/common/sckaddr.cpp @@ -31,6 +31,7 @@ #include "wx/object.h" #include "wx/log.h" #include "wx/intl.h" + #include "wx/thread.h" #include #include @@ -148,7 +149,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress) typedef char wxGetservBuf[1024]; #endif -#ifdef wxHAS_MT_SAFE_GETBY_FUNCS || !wxUSE_THREADS +#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) || \ @@ -508,7 +509,7 @@ bool wxSockAddressImpl::SetHostName4(const wxString& name) 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) @@ -695,7 +696,7 @@ bool wxSockAddressImpl::SetPath(const wxString& path) if ( !addr ) return false; - const wxUTF8Buf buf(path.utf8_str()); + const wxScopedCharBuffer buf(path.utf8_str()); if ( strlen(buf) >= UNIX_PATH_MAX ) return false; @@ -722,9 +723,19 @@ wxString wxSockAddressImpl::GetPath() const // 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();