diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2013-11-19 22:21:11 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2013-11-19 22:21:11 +0000 |
commit | c9f36df332f11827645ac97c97f04009d744eb1a (patch) | |
tree | 184b852b8bb0580e51022c29fcc50fd808321d22 | |
parent | f8863cbe540a4034f658efef1010fc07894afb2f (diff) | |
download | cygnal-c9f36df332f11827645ac97c97f04009d744eb1a.tar.gz cygnal-c9f36df332f11827645ac97c97f04009d744eb1a.tar.bz2 cygnal-c9f36df332f11827645ac97c97f04009d744eb1a.zip |
* ntdll.h (RtlGetVersion): Declare.
* wincap.cc (wincapc::init): Rather than GetVersionEx, call
RtlGetVersion which is not crippled by missing Windows 8.1 manifest.
* wincap.h (wincapc): Change type of version to RTL_OSVERSIONINFOEXW.
Align formatting of all class members.
-rw-r--r-- | winsup/cygwin/ChangeLog | 8 | ||||
-rw-r--r-- | winsup/cygwin/ntdll.h | 1 | ||||
-rw-r--r-- | winsup/cygwin/release/1.7.26 | 4 | ||||
-rw-r--r-- | winsup/cygwin/wincap.cc | 4 | ||||
-rw-r--r-- | winsup/cygwin/wincap.h | 10 |
5 files changed, 20 insertions, 7 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 8fa9089a3..be4656050 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,13 @@ 2013-11-19 Corinna Vinschen <corinna@vinschen.de> + * ntdll.h (RtlGetVersion): Declare. + * wincap.cc (wincapc::init): Rather than GetVersionEx, call + RtlGetVersion which is not crippled by missing Windows 8.1 manifest. + * wincap.h (wincapc): Change type of version to RTL_OSVERSIONINFOEXW. + Align formatting of all class members. + +2013-11-19 Corinna Vinschen <corinna@vinschen.de> + * wincap.cc (wincapc::init): Revert previous change. It's not working. 2013-11-19 Corinna Vinschen <corinna@vinschen.de> diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index 9c8e94b08..89752cb46 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -1390,6 +1390,7 @@ extern "C" PBOOLEAN); NTSTATUS NTAPI RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *, PBOOLEAN); + NTSTATUS NTAPI RtlGetVersion (PRTL_OSVERSIONINFOEXW); PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid (PSID); VOID NTAPI RtlInitEmptyUnicodeString (PUNICODE_STRING, PCWSTR, USHORT); VOID NTAPI RtlInitAnsiString (PANSI_STRING, PCSTR); diff --git a/winsup/cygwin/release/1.7.26 b/winsup/cygwin/release/1.7.26 index 722606cd0..50a0bc767 100644 --- a/winsup/cygwin/release/1.7.26 +++ b/winsup/cygwin/release/1.7.26 @@ -56,3 +56,7 @@ Bug fixes: - Fix typos in cygcheck which could crash Windows 8 and 8.1 machines. Fixes: http://cygwin.com/ml/cygwin/2013-11/msg00334.html + +- Show OS version correctly even on Windows 8.1 and Server 2012 R2. + Fixes: http://cygwin.com/ml/cygwin/2013-11/msg00343.html + diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index d84679df5..cdbb1c37e 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -172,8 +172,8 @@ wincapc::init () return; // already initialized GetSystemInfo (&system_info); - version.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX); - GetVersionEx (reinterpret_cast<LPOSVERSIONINFO>(&version)); + version.dwOSVersionInfoSize = sizeof (RTL_OSVERSIONINFOEXW); + RtlGetVersion (&version); switch (version.dwMajorVersion) { diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h index cf42dc90e..98fef2656 100644 --- a/winsup/cygwin/wincap.h +++ b/winsup/cygwin/wincap.h @@ -43,11 +43,11 @@ struct wincaps class wincapc { - SYSTEM_INFO system_info; - OSVERSIONINFOEX version; - char osnam[40]; - ULONG_PTR wow64; - void *caps; + SYSTEM_INFO system_info; + RTL_OSVERSIONINFOEXW version; + char osnam[40]; + ULONG_PTR wow64; + void *caps; public: void init (); |