リビジョン | 6260 (tree) |
---|---|
日時 | 2016-01-12 01:38:49 |
作者 | (del#1144) |
不要な条件を削除
可読性のために括弧を追加
コメント追加
@@ -1039,13 +1039,13 @@ | ||
1039 | 1039 | GetVersionEx(&osvi); |
1040 | 1040 | |
1041 | 1041 | if (dwTypeMask & VER_BUILDNUMBER) { |
1042 | - cond = (WORD)((dwlConditionMask >> 2 * 3) & 0x07); | |
1042 | + cond = (WORD)((dwlConditionMask >> (2*3)) & 0x07); | |
1043 | 1043 | if (!vercmp(lpVersionInformation->dwBuildNumber, osvi.dwBuildNumber, cond)) { |
1044 | 1044 | return FALSE; |
1045 | 1045 | } |
1046 | 1046 | } |
1047 | 1047 | if (dwTypeMask & VER_PLATFORMID) { |
1048 | - cond = (WORD)((dwlConditionMask >> 3 * 3) & 0x07); | |
1048 | + cond = (WORD)((dwlConditionMask >> (3*3)) & 0x07); | |
1049 | 1049 | if (!vercmp(lpVersionInformation->dwPlatformId, osvi.dwPlatformId, cond)) { |
1050 | 1050 | return FALSE; |
1051 | 1051 | } |
@@ -1054,7 +1054,7 @@ | ||
1054 | 1054 | if (dwTypeMask & (VER_MAJORVERSION | VER_MINORVERSION)) { |
1055 | 1055 | check_next = TRUE; |
1056 | 1056 | if (dwTypeMask & VER_MAJORVERSION) { |
1057 | - cond = (WORD)((dwlConditionMask >> 1 * 3) & 0x07); | |
1057 | + cond = (WORD)((dwlConditionMask >> (1*3)) & 0x07); | |
1058 | 1058 | if (cond == VER_EQUAL) { |
1059 | 1059 | if (!vercmp(lpVersionInformation->dwMajorVersion, osvi.dwMajorVersion, cond)) { |
1060 | 1060 | return FALSE; |
@@ -1062,13 +1062,28 @@ | ||
1062 | 1062 | } |
1063 | 1063 | else { |
1064 | 1064 | ret = vercmp(lpVersionInformation->dwMajorVersion, osvi.dwMajorVersion, cond); |
1065 | - if (ret && !vercmp(lpVersionInformation->dwMajorVersion, osvi.dwMajorVersion, VER_EQUAL)) { | |
1065 | + // ret: result of major version | |
1066 | + if (!vercmp(lpVersionInformation->dwMajorVersion, osvi.dwMajorVersion, VER_EQUAL)) { | |
1067 | + // !vercmp(...: result of GRATOR/LESS than (not "GRATOR/LESS than or equal to") of major version | |
1068 | + // e.g. | |
1069 | + // lpvi:5.1 actual:5.0 cond:VER_GREATER_EQUAL ret:TRUE !vercmp(...:FALSE must check minor | |
1070 | + // lpvi:5.1 actual:5.1 cond:VER_GREATER_EQUAL ret:TRUE !vercmp(...:FALSE must check minor | |
1071 | + // lpvi:5.1 actual:5.2 cond:VER_GREATER_EQUAL ret:TRUE !vercmp(...:FALSE must check minor | |
1072 | + // lpvi:5.1 actual:6.0 cond:VER_GREATER_EQUAL ret:TRUE !vercmp(...:TRUE must not check minor | |
1073 | + // lpvi:5.1 actual:6.1 cond:VER_GREATER_EQUAL ret:TRUE !vercmp(...:TRUE must not check minor | |
1074 | + // lpvi:5.1 actual:6.2 cond:VER_GREATER_EQUAL ret:TRUE !vercmp(...:TRUE must not check minor | |
1075 | + // lpvi:5.1 actual:5.0 cond:VER_GREATER ret:FALSE !vercmp(...:FALSE must check minor | |
1076 | + // lpvi:5.1 actual:5.1 cond:VER_GREATER ret:FALSE !vercmp(...:FALSE must check minor | |
1077 | + // lpvi:5.1 actual:5.2 cond:VER_GREATER ret:FALSE !vercmp(...:FALSE must check minor | |
1078 | + // lpvi:5.1 actual:6.0 cond:VER_GREATER ret:TRUE !vercmp(...:TRUE must not check minor | |
1079 | + // lpvi:5.1 actual:6.1 cond:VER_GREATER ret:TRUE !vercmp(...:TRUE must not check minor | |
1080 | + // lpvi:5.1 actual:6.2 cond:VER_GREATER ret:TRUE !vercmp(...:TRUE must not check minor | |
1066 | 1081 | check_next = FALSE; |
1067 | 1082 | } |
1068 | 1083 | } |
1069 | 1084 | } |
1070 | 1085 | if (check_next && (dwTypeMask & VER_MINORVERSION)) { |
1071 | - cond = (WORD)((dwlConditionMask >> 0 * 3) & 0x07); | |
1086 | + cond = (WORD)((dwlConditionMask >> (0*3)) & 0x07); | |
1072 | 1087 | if (cond == VER_EQUAL) { |
1073 | 1088 | if (!vercmp(lpVersionInformation->dwMinorVersion, osvi.dwMinorVersion, cond)) { |
1074 | 1089 | return FALSE; |