aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-09-01 10:39:19 -0400
committerGitHub <noreply@github.com>2018-09-01 10:39:19 -0400
commit19004cd5db1f0c629ff32e8b62b2e1dd57aadc5a (patch)
tree3b3f337329e2d9d80c3b90d8e52e047cea0272b6 /src
parente036f65ac0df91b03dc6bcda8b043484321c6857 (diff)
parent9e6f53dd5857d04294f8bed3fe2b3dde75196756 (diff)
downloadzig-19004cd5db1f0c629ff32e8b62b2e1dd57aadc5a.tar.gz
zig-19004cd5db1f0c629ff32e8b62b2e1dd57aadc5a.zip
Merge pull request #1444 from kristate/winsdk-vercheck-issue1438
correct version comparison for detecting msvc (fixes #1438)
Diffstat (limited to 'src')
-rw-r--r--src/windows_sdk.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/windows_sdk.cpp b/src/windows_sdk.cpp
index 0f9d0fc301..c6e79f85cd 100644
--- a/src/windows_sdk.cpp
+++ b/src/windows_sdk.cpp
@@ -204,7 +204,11 @@ static ZigFindWindowsSdkError find_10_version(ZigWindowsSDKPrivate *priv) {
// https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
c2 = 26624;
}
- if ((c0 > v0) || (c1 > v1) || (c2 > v2) || (c3 > v3)) {
+
+ if ( (c0 > v0)
+ || (c0 == v0 && c1 > v1)
+ || (c0 == v0 && c1 == v1 && c2 > v2)
+ || (c0 == v0 && c1 == v1 && c2 == v2 && c3 > v3) ) {
v0 = c0, v1 = c1, v2 = c2, v3 = c3;
free((void*)priv->base.version10_ptr);
priv->base.version10_ptr = strdup(ffd.cFileName);
@@ -244,7 +248,8 @@ static ZigFindWindowsSdkError find_81_version(ZigWindowsSDKPrivate *priv) {
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
int c0 = 0, c1 = 0;
sscanf(ffd.cFileName, "winv%d.%d", &c0, &c1);
- if ((c0 > v0) || (c1 > v1)) {
+
+ if ( (c0 > v0) || (c0 == v0 && c1 > v1) ) {
v0 = c0, v1 = c1;
free((void*)priv->base.version81_ptr);
priv->base.version81_ptr = strdup(ffd.cFileName);