mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
6642034: System.getProperty("os.name") returns Windows Vista on Windows Server 2008 (longhorn)
Reviewed-by: iris
This commit is contained in:
parent
abde1241e1
commit
4385dbf930
1 changed files with 18 additions and 5 deletions
|
@ -673,13 +673,13 @@ GetJavaProperties(JNIEnv* env)
|
||||||
/* OS properties */
|
/* OS properties */
|
||||||
{
|
{
|
||||||
char buf[100];
|
char buf[100];
|
||||||
OSVERSIONINFO ver;
|
OSVERSIONINFOEX ver;
|
||||||
ver.dwOSVersionInfoSize = sizeof(ver);
|
ver.dwOSVersionInfoSize = sizeof(ver);
|
||||||
GetVersionEx(&ver);
|
GetVersionEx((OSVERSIONINFO *) &ver);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* From msdn page on OSVERSIONINFOEX, current as of this
|
* From msdn page on OSVERSIONINFOEX, current as of this
|
||||||
* writing decoding of dwMajorVersion and dwMinorVersion.
|
* writing, decoding of dwMajorVersion and dwMinorVersion.
|
||||||
*
|
*
|
||||||
* Operating system dwMajorVersion dwMinorVersion
|
* Operating system dwMajorVersion dwMinorVersion
|
||||||
* ================== ============== ==============
|
* ================== ============== ==============
|
||||||
|
@ -692,7 +692,7 @@ GetJavaProperties(JNIEnv* env)
|
||||||
* Windows 2000 5 0
|
* Windows 2000 5 0
|
||||||
* Windows XP 5 1
|
* Windows XP 5 1
|
||||||
* Windows Server 2003 family 5 2
|
* Windows Server 2003 family 5 2
|
||||||
* Windows Vista 6 0
|
* Windows Vista family 6 0
|
||||||
*
|
*
|
||||||
* This mapping will presumably be augmented as new Windows
|
* This mapping will presumably be augmented as new Windows
|
||||||
* versions are released.
|
* versions are released.
|
||||||
|
@ -724,7 +724,20 @@ GetJavaProperties(JNIEnv* env)
|
||||||
default: sprops.os_name = "Windows NT (unknown)"; break;
|
default: sprops.os_name = "Windows NT (unknown)"; break;
|
||||||
}
|
}
|
||||||
} else if (ver.dwMajorVersion == 6) {
|
} else if (ver.dwMajorVersion == 6) {
|
||||||
sprops.os_name = "Windows Vista";
|
/*
|
||||||
|
* From MSDN OSVERSIONINFOEX documentation:
|
||||||
|
*
|
||||||
|
* "Because the version numbers for Windows Server 2008
|
||||||
|
* and Windows Vista are identical, you must also test
|
||||||
|
* whether the wProductType member is VER_NT_WORKSTATION.
|
||||||
|
* If wProductType is VER_NT_WORKSTATION, the operating
|
||||||
|
* system is Windows Vista; otherwise, it is Windows
|
||||||
|
* Server 2008."
|
||||||
|
*/
|
||||||
|
if (ver.wProductType == VER_NT_WORKSTATION)
|
||||||
|
sprops.os_name = "Windows Vista";
|
||||||
|
else
|
||||||
|
sprops.os_name = "Windows Server 2008";
|
||||||
} else {
|
} else {
|
||||||
sprops.os_name = "Windows NT (unknown)";
|
sprops.os_name = "Windows NT (unknown)";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue