4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-15 19:09:58 +08:00

31 lines
474 B
C
Raw Normal View History

/* Copyright 2002, Red Hat Inc. */
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <sys/utsname.h>
int
gethostname (char *name, size_t len)
{
struct utsname nodebuf;
size_t nodelen;
if (uname (&nodebuf))
return -1;
nodelen = strlen (nodebuf.nodename) + 1;
if (len < nodelen)
memcpy (name, nodebuf.nodename, len);
else
memcpy (name, nodebuf.nodename, nodelen);
if (nodelen > len)
{
errno = ENAMETOOLONG;
return -1;
}
return 0;
}