X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1eddcfafba914bff0c9674985d5c8a7205a741c6..fc9ef629ac8733c4f0b844356782cca80ae09c4b:/src/common/sckaddr.cpp diff --git a/src/common/sckaddr.cpp b/src/common/sckaddr.cpp index f3a3f48026..234a87005b 100644 --- a/src/common/sckaddr.cpp +++ b/src/common/sckaddr.cpp @@ -20,6 +20,8 @@ #pragma hdrstop #endif +#if wxUSE_SOCKETS + #ifndef WX_PRECOMP #endif @@ -55,6 +57,14 @@ #include #include +#ifdef __SUN__ +extern "C" +{ + struct hostent *gethostbyname(const char *name); + int gethostname(char *name, int namelen); +}; +#endif + #endif // __UNIX__ #include "wx/sckaddr.h" @@ -188,7 +198,11 @@ wxString wxIPV4address::Hostname() h_ent = gethostbyaddr((char *)&(m_addr->sin_addr), sizeof(m_addr->sin_addr), GetFamily()); - return wxString(h_ent->h_name); + + if (!h_ent) + return wxString(""); + else + return wxString(h_ent->h_name); } unsigned short wxIPV4address::Service() @@ -406,3 +420,6 @@ void wxUNIXaddress::Disassemble(struct sockaddr *addr, size_t len) *m_addr = *(struct sockaddr_un *)addr; } #endif + +#endif + // wxUSE_SOCKETS