1 #define PERL_NO_GET_CONTEXT
7 #if defined(I_UNISTD) && defined(HAS_GETHOSTNAME)
11 /* a reasonable default */
12 #ifndef MAXHOSTNAMELEN
13 # define MAXHOSTNAMELEN 256
17 # include <sys/utsname.h>
20 MODULE = Sys::Hostname PACKAGE = Sys::Hostname
30 #ifdef HAS_GETHOSTNAME
32 char tmps[MAXHOSTNAMELEN];
33 retval = PerlSock_gethostname(tmps, sizeof(tmps));
34 sv = newSVpv(tmps, 0);
40 char tmps[MAXHOSTNAMELEN];
43 io = PerlProc_popen(PHOSTNAME, "r");
46 while (PerlIO_read(io, &c, sizeof(c)) == 1) {
47 if (isSPACE(c) || p - tmps >= sizeof(tmps))
53 sv = newSVpvn(tmps, p - tmps);
59 if (PerlEnv_uname(&u) == -1)
61 sv = newSVpv(u.nodename, 0);
67 #ifndef HAS_GETHOSTNAME
73 PUSHs(sv_2mortal(sv));