diff options
Diffstat (limited to 'contrib/perl5/ext/Sys/Hostname/Hostname.xs')
-rw-r--r-- | contrib/perl5/ext/Sys/Hostname/Hostname.xs | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/contrib/perl5/ext/Sys/Hostname/Hostname.xs b/contrib/perl5/ext/Sys/Hostname/Hostname.xs deleted file mode 100644 index f104383..0000000 --- a/contrib/perl5/ext/Sys/Hostname/Hostname.xs +++ /dev/null @@ -1,76 +0,0 @@ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#if defined(I_UNISTD) && defined(HAS_GETHOSTNAME) -# include <unistd.h> -#endif - -/* a reasonable default */ -#ifndef MAXHOSTNAMELEN -# define MAXHOSTNAMELEN 256 -#endif - -/* swiped from POSIX.xs */ -#if defined(__VMS) && !defined(__POSIX_SOURCE) -# if ((__VMS_VER >= 70000000) && (__DECC_VER >= 50200000)) || (__CRTL_VER >= 70000000) -# include <utsname.h> -# endif -#endif - -#ifdef I_SYSUTSNAME -# include <sys/utsname.h> -#endif - -MODULE = Sys::Hostname PACKAGE = Sys::Hostname - -void -ghname() - PREINIT: - IV retval = -1; - SV *sv; - PPCODE: - EXTEND(SP, 1); -#ifdef HAS_GETHOSTNAME - { - char tmps[MAXHOSTNAMELEN]; - retval = PerlSock_gethostname(tmps, sizeof(tmps)); - sv = newSVpvn(tmps, strlen(tmps)); - } -#else -# ifdef HAS_PHOSTNAME - { - PerlIO *io; - char tmps[MAXHOSTNAMELEN]; - char *p = tmps; - char c; - io = PerlProc_popen(PHOSTNAME, "r"); - if (!io) - goto check_out; - while (PerlIO_read(io, &c, sizeof(c)) == 1) { - if (isSPACE(c) || p - tmps >= sizeof(tmps)) - break; - *p++ = c; - } - PerlProc_pclose(io); - *p = '\0'; - retval = 0; - sv = newSVpvn(tmps, strlen(tmps)); - } -# else -# ifdef HAS_UNAME - { - struct utsname u; - if (PerlEnv_uname(&u) == -1) - goto check_out; - sv = newSVpvn(u.nodename, strlen(u.nodename)); - retval = 0; - } -# endif -# endif -#endif - check_out: - if (retval == -1) - XSRETURN_UNDEF; - else - PUSHs(sv_2mortal(sv)); |