postgresql/src/port/gethostname.c

34 lines
684 B
C

/*-------------------------------------------------------------------------
*
* gethostname.c
* gethostname using uname
*
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* src/port/gethostname.c
*
*-------------------------------------------------------------------------
*/
#include "c.h"
#include <sys/utsname.h>
int
gethostname(char *name, int namelen)
{
static struct utsname mname;
static int called = 0;
if (!called)
{
called++;
uname(&mname);
}
strncpy(name, mname.nodename, (SYS_NMLN < namelen ? SYS_NMLN : namelen));
return 0;
}