kalle Tue, 12 Oct 2010 17:34:25 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=304351
Log:
* Added version info for Windows XP Starter/Tablet PC/Media Center editions
* Fixed typo: "Unknow" -> "Unknown"
* Removed useless Win9x version info
# I will merge this to 5.3 once I have analyzed a possible bug
# (and hopefully fixed) why Server 2008 is reported as unknown
Changed paths:
U php/php-src/trunk/ext/standard/info.c
U php/php-src/trunk/ext/standard/winver.h
Modified: php/php-src/trunk/ext/standard/info.c
===================================================================
--- php/php-src/trunk/ext/standard/info.c 2010-10-12 12:16:09 UTC (rev
304350)
+++ php/php-src/trunk/ext/standard/info.c 2010-10-12 17:34:25 UTC (rev
304351)
@@ -348,7 +348,7 @@
major = "Windows Server 2008 R2";
}
} else {
- major = "Unknow Windows version";
+ major = "Unknown Windows version";
}
pGPI = (PGPI)
GetProcAddress(GetModuleHandle("kernel32.dll"), "GetProductInfo");
@@ -454,9 +454,17 @@
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
{
major = "Windows XP";
- if( osvi.wSuiteMask & VER_SUITE_PERSONAL )
+ if( osvi.wSuiteMask & VER_SUITE_PERSONAL ) {
sub = "Home Edition";
- else sub = "Professional";
+ } else if (GetSystemMetrics(SM_MEDIACENTER)) {
+ sub = "Media Center Edition";
+ } else if (GetSystemMetrics(SM_STARTER)) {
+ sub = "Starter Edition";
+ } else if (GetSystemMetrics(SM_TABLETPC)) {
+ sub = "Tablet PC Edition";
+ } else {
+ sub = "Professional";
+ }
}
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 ) {
@@ -538,11 +546,7 @@
GetComputerName(ComputerName, &dwSize);
if (mode == 's') {
- if (dwVersion < 0x80000000) {
- php_uname = "Windows NT";
- } else {
- php_uname = "Windows 9x";
- }
+ php_uname = "Windows NT";
} else if (mode == 'r') {
snprintf(tmp_uname, sizeof(tmp_uname), "%d.%d",
dwWindowsMajorVersion, dwWindowsMinorVersion);
php_uname = tmp_uname;
@@ -564,23 +568,16 @@
php_get_windows_cpu(tmp_uname, sizeof(tmp_uname));
php_uname = tmp_uname;
} else { /* assume mode == 'a' */
- /* Get build numbers for Windows NT or Win95 */
- if (dwVersion < 0x80000000){
- char *winver = php_get_windows_name();
- char wincpu[20];
+ char *winver = php_get_windows_name();
+ char wincpu[20];
- php_get_windows_cpu(wincpu, sizeof(wincpu));
- dwBuild = (DWORD)(HIWORD(dwVersion));
- snprintf(tmp_uname, sizeof(tmp_uname), "%s %s %d.%d
build %d (%s) %s",
- "Windows NT", ComputerName,
- dwWindowsMajorVersion,
dwWindowsMinorVersion, dwBuild, winver?winver:"unknown", wincpu);
- if(winver) {
- efree(winver);
- }
- } else {
- snprintf(tmp_uname, sizeof(tmp_uname), "%s %s %d.%d",
- "Windows 9x", ComputerName,
- dwWindowsMajorVersion,
dwWindowsMinorVersion);
+ php_get_windows_cpu(wincpu, sizeof(wincpu));
+ dwBuild = (DWORD)(HIWORD(dwVersion));
+ snprintf(tmp_uname, sizeof(tmp_uname), "%s %s %d.%d build %d
(%s) %s",
+ "Windows NT", ComputerName,
+ dwWindowsMajorVersion, dwWindowsMinorVersion,
dwBuild, winver?winver:"unknown", wincpu);
+ if(winver) {
+ efree(winver);
}
php_uname = tmp_uname;
}
Modified: php/php-src/trunk/ext/standard/winver.h
===================================================================
--- php/php-src/trunk/ext/standard/winver.h 2010-10-12 12:16:09 UTC (rev
304350)
+++ php/php-src/trunk/ext/standard/winver.h 2010-10-12 17:34:25 UTC (rev
304351)
@@ -1,6 +1,15 @@
#ifndef _PHP_WINVER_H
#define _PHP_WINVER_H
+#ifndef SM_TABLETPC
+#define SM_TABLETPC 86
+#endif
+#ifndef SM_MEDIACENTER
+#define SM_MEDIACENTER 87
+#endif
+#ifndef SM_STARTER
+#define SM_STARTER 88
+#endif
#ifndef SM_SERVERR2
#define SM_SERVERR2 89
#endif
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php