typedef char wxGethostBuf[1024];
#endif
-#ifdef HAVE_FUNC_GETSERVBYNAME_R_3
+#ifdef HAVE_FUNC_GETSERVBYNAME_R_4
struct wxGetservBuf : servent_data
{
wxGethostBuf()
servent *wxGetservbyname_r(const char *port,
const char *protocol,
servent *serv,
- wxGetservBuf buffer,
+ wxGetservBuf& buffer,
int size)
{
servent *se;
#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);
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() )