{
char hostname[256];
struct hostent *dest;
+ char *h;
if (gethostname(hostname, sizeof(hostname)))
return NULL;
if (!dest)
return strdup(hostname);
+ h = strdup(dest->h_name);
+ dest = gethostbyaddr((char *)dest->h_addr_list[0],
+ sizeof(struct in_addr), AF_INET);
+ if (!dest)
+ return h;
+
+ silc_free(h);
return strdup(dest->h_name);
}