Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2013-11-20 02:21:11 +0400
committerCorinna Vinschen <corinna@vinschen.de>2013-11-20 02:21:11 +0400
commitc9f36df332f11827645ac97c97f04009d744eb1a (patch)
tree184b852b8bb0580e51022c29fcc50fd808321d22
parentf8863cbe540a4034f658efef1010fc07894afb2f (diff)
* 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/ChangeLog8
-rw-r--r--winsup/cygwin/ntdll.h1
-rw-r--r--winsup/cygwin/release/1.7.264
-rw-r--r--winsup/cygwin/wincap.cc4
-rw-r--r--winsup/cygwin/wincap.h10
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 ();