#include <moira.h>
#include <sys/types.h>
-#include <sys/socket.h>
+
+#ifdef HAVE_UNAME
#include <sys/utsname.h>
+#endif
+#ifndef _WIN32
+#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
+#endif /* _WIN32 */
#include <ctype.h>
#include <stdio.h>
RCSID("$Header$");
+static struct hostent *local_gethostbyname(void)
+{
+#ifdef HAVE_UNAME
+ struct utsname name;
+ uname(&name);
+ return gethostbyname(name.nodename);
+#else
+ char hostname[128];
+ gethostname(hostname, sizeof(hostname));
+ hostname[sizeof(hostname)-1] = 0;
+ return gethostbyname(hostname);
+#endif
+}
+
static char *local_domain(void)
{
static char *domain = NULL;
}
else
{
- struct utsname name;
- uname(&name);
- hp = gethostbyname(name.nodename);
+ hp = local_gethostbyname();
if (hp)
{
cp = strchr(hp->h_name, '.');