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-19 22:01:04 +0400
committerCorinna Vinschen <corinna@vinschen.de>2013-11-19 22:01:04 +0400
commit705b50fe39c579e60849c0767037cc9683d4907e (patch)
tree0b18184f536d1fac9b409d06779ea18e1cd97e68
parent85cef403d8370e562beb8ae96bd20212a3ff855b (diff)
* wincap.cc (wincapc::init): Fix dwMinorVersion for Windows 8.1 and
Server 2012. Explain why this is necessary.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/wincap.cc9
2 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 970ce44da..a92e0c6d7 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2013-11-19 Corinna Vinschen <corinna@vinschen.de>
+ * wincap.cc (wincapc::init): Fix dwMinorVersion for Windows 8.1 and
+ Server 2012. Explain why this is necessary.
+
+2013-11-19 Corinna Vinschen <corinna@vinschen.de>
+
* autoload.cc (IdnToAscii): Define.
(IdnToUnicode): Define.
(FreeAddrInfoW): Define.
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index d84679df5..9a4708c3c 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -197,6 +197,15 @@ wincapc::init ()
case 1:
caps = &wincap_7;
break;
+ case 2:
+ /* Hack for Windows 8.1 and Server 2012R2: If the executable is
+ missing a Windows 8.1 mainfest, the OS returns dwMinorVersion
+ 2, as if it's running on Windows 8 or Server 2012. The
+ correct dwMinorVersion is 3 for 8.1/2012R2, though, so we're
+ fixing this up here. */
+ if (version.dwBuildNumber >= 9200)
+ version.dwMinorVersion = 3;
+ /*FALLTHRU*/
default:
caps = &wincap_8;
break;