]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sckaddr.cpp
Added wxVector::swap().
[wxWidgets.git] / src / common / sckaddr.cpp
index e70932497f9a7f117ec9c5b3791dcedc9a377a0a..9e21624fed06df1fd95b737a4949e0c62e286c9c 100644 (file)
@@ -136,7 +136,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
     typedef char wxGethostBuf[1024];
 #endif
 
-#ifdef HAVE_FUNC_GETSERVBYNAME_R_3
+#ifdef HAVE_FUNC_GETSERVBYNAME_R_4
     struct wxGetservBuf : servent_data
     {
         wxGethostBuf()
@@ -383,7 +383,7 @@ servent *deepCopyServent(servent *s,
 servent *wxGetservbyname_r(const char *port,
                            const char *protocol,
                            servent *serv,
-                           wxGetservBuf buffer,
+                           wxGetservBuf& buffer,
                            int size)
 {
     servent *se;
@@ -392,7 +392,8 @@ servent *wxGetservbyname_r(const char *port,
 #elif defined(HAVE_FUNC_GETSERVBYNAME_R_5)
     se = getservbyname_r(port, protocol, serv, buffer, size);
 #elif defined(HAVE_FUNC_GETSERVBYNAME_R_4)
-    se = getservbyname_r(port, protocol, serv, &buffer);
+    if ( getservbyname_r(port, protocol, serv, &buffer) != 0 )
+        return NULL;
 #elif defined(HAVE_GETSERVBYNAME)
     wxLOCK_GETBY_MUTEX(serv);
 
@@ -507,7 +508,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)
@@ -694,7 +695,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;
 
@@ -721,6 +722,16 @@ 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() )