From: Pierre Joye Date: Fri, 9 Oct 2009 17:15:46 +0000 (+0000) Subject: - Merge: fix #40013, php_uname() doesnt return nodename (MFH) X-Git-Tag: php-5.3.1RC2~47 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6392009183971700ffe25056ee05d82daf272898;p=php - Merge: fix #40013, php_uname() doesnt return nodename (MFH) --- diff --git a/ext/standard/info.c b/ext/standard/info.c index 393d499c11..dc03a4805e 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -527,6 +527,30 @@ PHPAPI char *php_get_uname(char mode) if (uname((struct utsname *)&buf) == -1) { php_uname = PHP_UNAME; } else { +#ifdef NETWARE + if (mode == 's') { + php_uname = buf.sysname; + } else if (mode == 'r') { + snprintf(tmp_uname, sizeof(tmp_uname), "%d.%d.%d", + buf.netware_major, buf.netware_minor, buf.netware_revision); + php_uname = tmp_uname; + } else if (mode == 'n') { + php_uname = buf.servername; + } else if (mode == 'v') { + snprintf(tmp_uname, sizeof(tmp_uname), "libc-%d.%d.%d #%d", + buf.libmajor, buf.libminor, buf.librevision, buf.libthreshold); + php_uname = tmp_uname; + } else if (mode == 'm') { + php_uname = buf.machine; + } else { /* assume mode == 'a' */ + snprintf(tmp_uname, sizeof(tmp_uname), "%s %s %d.%d.%d libc-%d.%d.%d #%d %s", + buf.sysname, buf.servername, + buf.netware_major, buf.netware_minor, buf.netware_revision, + buf.libmajor, buf.libminor, buf.librevision, buf.libthreshold, + buf.machine); + php_uname = tmp_uname; + } +#else if (mode == 's') { php_uname = buf.sysname; } else if (mode == 'r') { @@ -543,6 +567,7 @@ PHPAPI char *php_get_uname(char mode) buf.machine); php_uname = tmp_uname; } +#endif /* NETWARE */ } #else php_uname = PHP_UNAME;