diff options
| author | Rob Mensching <rob@firegiant.com> | 2025-11-01 20:24:25 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2025-11-03 14:49:39 -0800 |
| commit | 4d626c294c4783d454e27ea4e5614037dac8576e (patch) | |
| tree | 51d822f48716e4c5ef2a51ca28925896f221b521 /src | |
| parent | 33c12fa386aa7ace7a6bd06a45bc3ecf17e9c8f5 (diff) | |
| download | wix-4d626c294c4783d454e27ea4e5614037dac8576e.tar.gz wix-4d626c294c4783d454e27ea4e5614037dac8576e.tar.bz2 wix-4d626c294c4783d454e27ea4e5614037dac8576e.zip | |
Use CompareStringOrdinal() instead of CompareString() case-insensitive
This commit moves to the modern CompareStringOrdinal() for all case-insensitve
uses of CompareString() with the invariant locale.
Partially resolves 6947
Diffstat (limited to 'src')
26 files changed, 125 insertions, 125 deletions
diff --git a/src/api/burn/balutil/balinfo.cpp b/src/api/burn/balutil/balinfo.cpp index 6f609a40..8784a380 100644 --- a/src/api/burn/balutil/balinfo.cpp +++ b/src/api/burn/balutil/balinfo.cpp | |||
| @@ -43,14 +43,14 @@ DAPI_(HRESULT) BalInfoParseCommandLine( | |||
| 43 | 43 | ||
| 44 | if (argv[i][0] == L'-' || argv[i][0] == L'/') | 44 | if (argv[i][0] == L'-' || argv[i][0] == L'/') |
| 45 | { | 45 | { |
| 46 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"norestart", -1)) | 46 | if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"norestart", -1, TRUE)) |
| 47 | { | 47 | { |
| 48 | if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart) | 48 | if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart) |
| 49 | { | 49 | { |
| 50 | pCommand->restart = BAL_INFO_RESTART_NEVER; | 50 | pCommand->restart = BAL_INFO_RESTART_NEVER; |
| 51 | } | 51 | } |
| 52 | } | 52 | } |
| 53 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"forcerestart", -1)) | 53 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"forcerestart", -1, TRUE)) |
| 54 | { | 54 | { |
| 55 | if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart) | 55 | if (BAL_INFO_RESTART_UNKNOWN == pCommand->restart) |
| 56 | { | 56 | { |
diff --git a/src/burn/engine/bundlepackageengine.cpp b/src/burn/engine/bundlepackageengine.cpp index db433918..1a8ba982 100644 --- a/src/burn/engine/bundlepackageengine.cpp +++ b/src/burn/engine/bundlepackageengine.cpp | |||
| @@ -686,7 +686,7 @@ static BUNDLE_QUERY_CALLBACK_RESULT CALLBACK QueryRelatedBundlesCallback( | |||
| 686 | BOOTSTRAPPER_RELATION_TYPE relationType = RelatedBundleConvertRelationType(pBundle->relationType); | 686 | BOOTSTRAPPER_RELATION_TYPE relationType = RelatedBundleConvertRelationType(pBundle->relationType); |
| 687 | BOOL fPerMachine = BUNDLE_INSTALL_CONTEXT_MACHINE == pBundle->installContext; | 687 | BOOL fPerMachine = BUNDLE_INSTALL_CONTEXT_MACHINE == pBundle->installContext; |
| 688 | 688 | ||
| 689 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pBundle->wzBundleCode, -1, pPackage->Bundle.sczBundleCode, -1) && | 689 | if (CSTR_EQUAL == ::CompareStringOrdinal(pBundle->wzBundleCode, -1, pPackage->Bundle.sczBundleCode, -1, TRUE) && |
| 690 | pPackage->Bundle.fWin64 == (REG_KEY_64BIT == pBundle->regBitness)) | 690 | pPackage->Bundle.fWin64 == (REG_KEY_64BIT == pBundle->regBitness)) |
| 691 | { | 691 | { |
| 692 | Assert(BOOTSTRAPPER_RELATION_UPGRADE == relationType); | 692 | Assert(BOOTSTRAPPER_RELATION_UPGRADE == relationType); |
diff --git a/src/burn/engine/cache.cpp b/src/burn/engine/cache.cpp index e432df69..f5df6500 100644 --- a/src/burn/engine/cache.cpp +++ b/src/burn/engine/cache.cpp | |||
| @@ -619,8 +619,8 @@ extern "C" HRESULT CacheGetLocalSourcePaths( | |||
| 619 | 619 | ||
| 620 | hr = GetLastUsedSourceFolder(pVariables, &sczLastSourceFolder); | 620 | hr = GetLastUsedSourceFolder(pVariables, &sczLastSourceFolder); |
| 621 | fPreferSourcePathLocation = !pCache->fRunningFromCache || FAILED(hr); | 621 | fPreferSourcePathLocation = !pCache->fRunningFromCache || FAILED(hr); |
| 622 | fTryLastFolder = SUCCEEDED(hr) && sczLastSourceFolder && *sczLastSourceFolder && CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pCache->sczSourceProcessFolder, -1, sczLastSourceFolder, -1); | 622 | fTryLastFolder = SUCCEEDED(hr) && sczLastSourceFolder && *sczLastSourceFolder && CSTR_EQUAL != ::CompareStringOrdinal(pCache->sczSourceProcessFolder, -1, sczLastSourceFolder, -1, TRUE); |
| 623 | fTryRelativePath = CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzSourcePath, -1, wzRelativePath, -1); | 623 | fTryRelativePath = CSTR_EQUAL != ::CompareStringOrdinal(wzSourcePath, -1, wzRelativePath, -1, TRUE); |
| 624 | fSourceIsAbsolute = PathIsRooted(wzSourcePath); | 624 | fSourceIsAbsolute = PathIsRooted(wzSourcePath); |
| 625 | 625 | ||
| 626 | // If the source path provided is a full path, try that first. | 626 | // If the source path provided is a full path, try that first. |
| @@ -797,7 +797,7 @@ extern "C" HRESULT CacheSetLastUsedSource( | |||
| 797 | 797 | ||
| 798 | // If the source path ends with the relative path then this source could be a new path. | 798 | // If the source path ends with the relative path then this source could be a new path. |
| 799 | iSourceRelativePath = cchSourcePath - cchRelativePath; | 799 | iSourceRelativePath = cchSourcePath - cchRelativePath; |
| 800 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzSourcePath + iSourceRelativePath, -1, wzRelativePath, -1)) | 800 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzSourcePath + iSourceRelativePath, -1, wzRelativePath, -1, TRUE)) |
| 801 | { | 801 | { |
| 802 | hr = StrAllocString(&sczSourceFolder, wzSourcePath, iSourceRelativePath); | 802 | hr = StrAllocString(&sczSourceFolder, wzSourcePath, iSourceRelativePath); |
| 803 | ExitOnFailure(hr, "Failed to trim source folder."); | 803 | ExitOnFailure(hr, "Failed to trim source folder."); |
| @@ -805,7 +805,7 @@ extern "C" HRESULT CacheSetLastUsedSource( | |||
| 805 | hr = VariableGetString(pVariables, BURN_BUNDLE_LAST_USED_SOURCE, &sczLastSourceFolder); | 805 | hr = VariableGetString(pVariables, BURN_BUNDLE_LAST_USED_SOURCE, &sczLastSourceFolder); |
| 806 | if (SUCCEEDED(hr)) | 806 | if (SUCCEEDED(hr)) |
| 807 | { | 807 | { |
| 808 | nCompare = ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, sczSourceFolder, -1, sczLastSourceFolder, -1); | 808 | nCompare = ::CompareStringOrdinal(sczSourceFolder, -1, sczLastSourceFolder, -1, TRUE); |
| 809 | } | 809 | } |
| 810 | else if (E_NOTFOUND == hr) | 810 | else if (E_NOTFOUND == hr) |
| 811 | { | 811 | { |
| @@ -1031,7 +1031,7 @@ extern "C" HRESULT CacheCompleteBundle( | |||
| 1031 | ExitOnFailure(hr, "Failed to combine completed path with engine file name."); | 1031 | ExitOnFailure(hr, "Failed to combine completed path with engine file name."); |
| 1032 | 1032 | ||
| 1033 | // We can't just use wzExecutablePath because we needed to call CreateCompletedPath to ensure that the destination was secured. | 1033 | // We can't just use wzExecutablePath because we needed to call CreateCompletedPath to ensure that the destination was secured. |
| 1034 | Assert(CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzExecutablePath, -1, sczTargetPath, -1)); | 1034 | Assert(CSTR_EQUAL == ::CompareStringOrdinal(wzExecutablePath, -1, sczTargetPath, -1, TRUE)); |
| 1035 | 1035 | ||
| 1036 | // If the bundle is running out of the package cache then we don't need to copy it there | 1036 | // If the bundle is running out of the package cache then we don't need to copy it there |
| 1037 | // (and don't want to since it'll be in use) so bail. | 1037 | // (and don't want to since it'll be in use) so bail. |
diff --git a/src/burn/engine/condition.cpp b/src/burn/engine/condition.cpp index 8fa62f16..ecce2d5c 100644 --- a/src/burn/engine/condition.cpp +++ b/src/burn/engine/condition.cpp | |||
| @@ -740,17 +740,17 @@ static HRESULT NextSymbol( | |||
| 740 | ::GetStringTypeW(CT_CTYPE1, &pContext->wzRead[n], 1, &charType); | 740 | ::GetStringTypeW(CT_CTYPE1, &pContext->wzRead[n], 1, &charType); |
| 741 | } while (C1_ALPHA & charType || C1_DIGIT & charType || L'_' == pContext->wzRead[n]); | 741 | } while (C1_ALPHA & charType || C1_DIGIT & charType || L'_' == pContext->wzRead[n]); |
| 742 | 742 | ||
| 743 | if (2 == n && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pContext->wzRead, 2, L"OR", 2)) | 743 | if (2 == n && CSTR_EQUAL == ::CompareStringOrdinal(pContext->wzRead, 2, L"OR", 2, TRUE)) |
| 744 | { | 744 | { |
| 745 | // OR | 745 | // OR |
| 746 | pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_OR; | 746 | pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_OR; |
| 747 | } | 747 | } |
| 748 | else if (3 == n && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pContext->wzRead, 3, L"AND", 3)) | 748 | else if (3 == n && CSTR_EQUAL == ::CompareStringOrdinal(pContext->wzRead, 3, L"AND", 3, TRUE)) |
| 749 | { | 749 | { |
| 750 | // AND | 750 | // AND |
| 751 | pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_AND; | 751 | pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_AND; |
| 752 | } | 752 | } |
| 753 | else if (3 == n && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pContext->wzRead, 3, L"NOT", 3)) | 753 | else if (3 == n && CSTR_EQUAL == ::CompareStringOrdinal(pContext->wzRead, 3, L"NOT", 3, TRUE)) |
| 754 | { | 754 | { |
| 755 | // NOT | 755 | // NOT |
| 756 | pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_NOT; | 756 | pContext->NextSymbol.Type = BURN_SYMBOL_TYPE_NOT; |
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp index b20f7f0c..de202321 100644 --- a/src/burn/engine/core.cpp +++ b/src/burn/engine/core.cpp | |||
| @@ -1215,8 +1215,8 @@ HRESULT CoreAppendLogToCommandLine( | |||
| 1215 | if (rgszArgs[i][0] == L'-' || rgszArgs[i][0] == L'/') | 1215 | if (rgszArgs[i][0] == L'-' || rgszArgs[i][0] == L'/') |
| 1216 | { | 1216 | { |
| 1217 | // Now looking for 'log' or 'l' | 1217 | // Now looking for 'log' or 'l' |
| 1218 | if ((CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &rgszArgs[i][1], -1, L"log", -1)) | 1218 | if ((CSTR_EQUAL == ::CompareStringOrdinal(&rgszArgs[i][1], -1, L"log", -1, TRUE)) |
| 1219 | || (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &rgszArgs[i][1], -1, L"l", -1))) | 1219 | || (CSTR_EQUAL == ::CompareStringOrdinal(&rgszArgs[i][1], -1, L"l", -1, TRUE))) |
| 1220 | { | 1220 | { |
| 1221 | ExitFunction1(hr = S_FALSE); | 1221 | ExitFunction1(hr = S_FALSE); |
| 1222 | } | 1222 | } |
| @@ -1360,13 +1360,13 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1360 | 1360 | ||
| 1361 | if (argv[i][0] == L'-' || argv[i][0] == L'/') | 1361 | if (argv[i][0] == L'-' || argv[i][0] == L'/') |
| 1362 | { | 1362 | { |
| 1363 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"l", -1) || | 1363 | if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"l", -1, TRUE) || |
| 1364 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"log", -1) || | 1364 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"log", -1, TRUE) || |
| 1365 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"xlog", -1)) | 1365 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"xlog", -1, TRUE)) |
| 1366 | { | 1366 | { |
| 1367 | pInternalCommand->dwLoggingAttributes &= ~BURN_LOGGING_ATTRIBUTE_APPEND; | 1367 | pInternalCommand->dwLoggingAttributes &= ~BURN_LOGGING_ATTRIBUTE_APPEND; |
| 1368 | 1368 | ||
| 1369 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], 1, L"x", 1)) | 1369 | if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], 1, L"x", 1, TRUE)) |
| 1370 | { | 1370 | { |
| 1371 | pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_VERBOSE | BURN_LOGGING_ATTRIBUTE_EXTRADEBUG; | 1371 | pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_VERBOSE | BURN_LOGGING_ATTRIBUTE_EXTRADEBUG; |
| 1372 | } | 1372 | } |
| @@ -1382,24 +1382,24 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1382 | hr = PathExpand(&pInternalCommand->sczLogFile, argv[i], PATH_EXPAND_FULLPATH); | 1382 | hr = PathExpand(&pInternalCommand->sczLogFile, argv[i], PATH_EXPAND_FULLPATH); |
| 1383 | ExitOnFailure(hr, "Failed to copy log file path."); | 1383 | ExitOnFailure(hr, "Failed to copy log file path."); |
| 1384 | } | 1384 | } |
| 1385 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"?", -1) || | 1385 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"?", -1, TRUE) || |
| 1386 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"h", -1) || | 1386 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"h", -1, TRUE) || |
| 1387 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"help", -1)) | 1387 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"help", -1, TRUE)) |
| 1388 | { | 1388 | { |
| 1389 | pCommand->action = BOOTSTRAPPER_ACTION_HELP; | 1389 | pCommand->action = BOOTSTRAPPER_ACTION_HELP; |
| 1390 | } | 1390 | } |
| 1391 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"q", -1) || | 1391 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"q", -1, TRUE) || |
| 1392 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"quiet", -1) || | 1392 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"quiet", -1, TRUE) || |
| 1393 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"s", -1) || | 1393 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"s", -1, TRUE) || |
| 1394 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"silent", -1)) | 1394 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"silent", -1, TRUE)) |
| 1395 | { | 1395 | { |
| 1396 | pCommand->display = BOOTSTRAPPER_DISPLAY_NONE; | 1396 | pCommand->display = BOOTSTRAPPER_DISPLAY_NONE; |
| 1397 | } | 1397 | } |
| 1398 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"passive", -1)) | 1398 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"passive", -1, TRUE)) |
| 1399 | { | 1399 | { |
| 1400 | pCommand->display = BOOTSTRAPPER_DISPLAY_PASSIVE; | 1400 | pCommand->display = BOOTSTRAPPER_DISPLAY_PASSIVE; |
| 1401 | } | 1401 | } |
| 1402 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"layout", -1)) | 1402 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"layout", -1, TRUE)) |
| 1403 | { | 1403 | { |
| 1404 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) | 1404 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) |
| 1405 | { | 1405 | { |
| @@ -1415,47 +1415,47 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1415 | ExitOnFailure(hr, "Failed to copy path for layout directory."); | 1415 | ExitOnFailure(hr, "Failed to copy path for layout directory."); |
| 1416 | } | 1416 | } |
| 1417 | } | 1417 | } |
| 1418 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"unsafeuninstall", -1)) | 1418 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"unsafeuninstall", -1, TRUE)) |
| 1419 | { | 1419 | { |
| 1420 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) | 1420 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) |
| 1421 | { | 1421 | { |
| 1422 | pCommand->action = BOOTSTRAPPER_ACTION_UNSAFE_UNINSTALL; | 1422 | pCommand->action = BOOTSTRAPPER_ACTION_UNSAFE_UNINSTALL; |
| 1423 | } | 1423 | } |
| 1424 | } | 1424 | } |
| 1425 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"uninstall", -1)) | 1425 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"uninstall", -1, TRUE)) |
| 1426 | { | 1426 | { |
| 1427 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) | 1427 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) |
| 1428 | { | 1428 | { |
| 1429 | pCommand->action = BOOTSTRAPPER_ACTION_UNINSTALL; | 1429 | pCommand->action = BOOTSTRAPPER_ACTION_UNINSTALL; |
| 1430 | } | 1430 | } |
| 1431 | } | 1431 | } |
| 1432 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"repair", -1)) | 1432 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"repair", -1, TRUE)) |
| 1433 | { | 1433 | { |
| 1434 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) | 1434 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) |
| 1435 | { | 1435 | { |
| 1436 | pCommand->action = BOOTSTRAPPER_ACTION_REPAIR; | 1436 | pCommand->action = BOOTSTRAPPER_ACTION_REPAIR; |
| 1437 | } | 1437 | } |
| 1438 | } | 1438 | } |
| 1439 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"modify", -1)) | 1439 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"modify", -1, TRUE)) |
| 1440 | { | 1440 | { |
| 1441 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) | 1441 | if (BOOTSTRAPPER_ACTION_HELP != pCommand->action) |
| 1442 | { | 1442 | { |
| 1443 | pCommand->action = BOOTSTRAPPER_ACTION_MODIFY; | 1443 | pCommand->action = BOOTSTRAPPER_ACTION_MODIFY; |
| 1444 | } | 1444 | } |
| 1445 | } | 1445 | } |
| 1446 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"package", -1) || | 1446 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"package", -1, TRUE) || |
| 1447 | CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"update", -1)) | 1447 | CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"update", -1, TRUE)) |
| 1448 | { | 1448 | { |
| 1449 | if (BOOTSTRAPPER_ACTION_UNKNOWN == pCommand->action) | 1449 | if (BOOTSTRAPPER_ACTION_UNKNOWN == pCommand->action) |
| 1450 | { | 1450 | { |
| 1451 | pCommand->action = BOOTSTRAPPER_ACTION_INSTALL; | 1451 | pCommand->action = BOOTSTRAPPER_ACTION_INSTALL; |
| 1452 | } | 1452 | } |
| 1453 | } | 1453 | } |
| 1454 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"noaupause", -1)) | 1454 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"noaupause", -1, TRUE)) |
| 1455 | { | 1455 | { |
| 1456 | pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_NONE; | 1456 | pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_NONE; |
| 1457 | } | 1457 | } |
| 1458 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"keepaupaused", -1)) | 1458 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"keepaupaused", -1, TRUE)) |
| 1459 | { | 1459 | { |
| 1460 | // Switch /noaupause takes precedence. | 1460 | // Switch /noaupause takes precedence. |
| 1461 | if (BURN_AU_PAUSE_ACTION_NONE != pInternalCommand->automaticUpdates) | 1461 | if (BURN_AU_PAUSE_ACTION_NONE != pInternalCommand->automaticUpdates) |
| @@ -1463,11 +1463,11 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1463 | pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_IFELEVATED_NORESUME; | 1463 | pInternalCommand->automaticUpdates = BURN_AU_PAUSE_ACTION_IFELEVATED_NORESUME; |
| 1464 | } | 1464 | } |
| 1465 | } | 1465 | } |
| 1466 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"disablesystemrestore", -1)) | 1466 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"disablesystemrestore", -1, TRUE)) |
| 1467 | { | 1467 | { |
| 1468 | pInternalCommand->fDisableSystemRestore = TRUE; | 1468 | pInternalCommand->fDisableSystemRestore = TRUE; |
| 1469 | } | 1469 | } |
| 1470 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"originalsource", -1)) | 1470 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"originalsource", -1, TRUE)) |
| 1471 | { | 1471 | { |
| 1472 | if (i + 1 >= argc) | 1472 | if (i + 1 >= argc) |
| 1473 | { | 1473 | { |
| @@ -1479,7 +1479,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1479 | hr = PathExpand(&pInternalCommand->sczOriginalSource, argv[i], PATH_EXPAND_FULLPATH); | 1479 | hr = PathExpand(&pInternalCommand->sczOriginalSource, argv[i], PATH_EXPAND_FULLPATH); |
| 1480 | ExitOnFailure(hr, "Failed to copy last used source."); | 1480 | ExitOnFailure(hr, "Failed to copy last used source."); |
| 1481 | } | 1481 | } |
| 1482 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT, -1)) | 1482 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT, -1, TRUE)) |
| 1483 | { | 1483 | { |
| 1484 | if (i + 1 >= argc) | 1484 | if (i + 1 >= argc) |
| 1485 | { | 1485 | { |
| @@ -1492,12 +1492,12 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1492 | hr = StrAllocString(&pInternalCommand->sczActiveParent, argv[i], 0); | 1492 | hr = StrAllocString(&pInternalCommand->sczActiveParent, argv[i], 0); |
| 1493 | ExitOnFailure(hr, "Failed to copy parent."); | 1493 | ExitOnFailure(hr, "Failed to copy parent."); |
| 1494 | } | 1494 | } |
| 1495 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT_NONE, -1)) | 1495 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PARENT_NONE, -1, TRUE)) |
| 1496 | { | 1496 | { |
| 1497 | hr = StrAllocString(&pInternalCommand->sczActiveParent, L"", 0); | 1497 | hr = StrAllocString(&pInternalCommand->sczActiveParent, L"", 0); |
| 1498 | ExitOnFailure(hr, "Failed to initialize parent to none."); | 1498 | ExitOnFailure(hr, "Failed to initialize parent to none."); |
| 1499 | } | 1499 | } |
| 1500 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_LOG_APPEND, -1)) | 1500 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_LOG_APPEND, -1, TRUE)) |
| 1501 | { | 1501 | { |
| 1502 | if (i + 1 >= argc) | 1502 | if (i + 1 >= argc) |
| 1503 | { | 1503 | { |
| @@ -1512,7 +1512,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1512 | 1512 | ||
| 1513 | pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_APPEND; | 1513 | pInternalCommand->dwLoggingAttributes |= BURN_LOGGING_ATTRIBUTE_APPEND; |
| 1514 | } | 1514 | } |
| 1515 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE), BURN_COMMANDLINE_SWITCH_LOG_MODE, -1)) | 1515 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE), BURN_COMMANDLINE_SWITCH_LOG_MODE, -1, TRUE)) |
| 1516 | { | 1516 | { |
| 1517 | // Get a pointer to the next character after the switch. | 1517 | // Get a pointer to the next character after the switch. |
| 1518 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE)]; | 1518 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_LOG_MODE)]; |
| @@ -1541,7 +1541,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1541 | } | 1541 | } |
| 1542 | } | 1542 | } |
| 1543 | } | 1543 | } |
| 1544 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_ELEVATED, -1)) | 1544 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_ELEVATED, -1, TRUE)) |
| 1545 | { | 1545 | { |
| 1546 | if (i + 3 >= argc) | 1546 | if (i + 3 >= argc) |
| 1547 | { | 1547 | { |
| @@ -1579,7 +1579,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1579 | 1579 | ||
| 1580 | i += 2; | 1580 | i += 2; |
| 1581 | } | 1581 | } |
| 1582 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT), BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT, lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT))) | 1582 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT), BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT, lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT), TRUE)) |
| 1583 | { | 1583 | { |
| 1584 | // Get a pointer to the next character after the switch. | 1584 | // Get a pointer to the next character after the switch. |
| 1585 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT)]; | 1585 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_SYSTEM_COMPONENT)]; |
| @@ -1602,7 +1602,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1602 | pInternalCommand->fArpSystemComponent = TRUE; | 1602 | pInternalCommand->fArpSystemComponent = TRUE; |
| 1603 | } | 1603 | } |
| 1604 | } | 1604 | } |
| 1605 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_EMBEDDED, -1)) | 1605 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_EMBEDDED, -1, TRUE)) |
| 1606 | { | 1606 | { |
| 1607 | if (i + 3 >= argc) | 1607 | if (i + 3 >= argc) |
| 1608 | { | 1608 | { |
| @@ -1633,59 +1633,59 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1633 | 1633 | ||
| 1634 | i += 2; | 1634 | i += 2; |
| 1635 | } | 1635 | } |
| 1636 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DETECT, -1)) | 1636 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DETECT, -1, TRUE)) |
| 1637 | { | 1637 | { |
| 1638 | pCommand->relationType = BOOTSTRAPPER_RELATION_DETECT; | 1638 | pCommand->relationType = BOOTSTRAPPER_RELATION_DETECT; |
| 1639 | 1639 | ||
| 1640 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1640 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1641 | } | 1641 | } |
| 1642 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE, -1)) | 1642 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPGRADE, -1, TRUE)) |
| 1643 | { | 1643 | { |
| 1644 | pCommand->relationType = BOOTSTRAPPER_RELATION_UPGRADE; | 1644 | pCommand->relationType = BOOTSTRAPPER_RELATION_UPGRADE; |
| 1645 | 1645 | ||
| 1646 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1646 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1647 | } | 1647 | } |
| 1648 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_ADDON, -1)) | 1648 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_ADDON, -1, TRUE)) |
| 1649 | { | 1649 | { |
| 1650 | pCommand->relationType = BOOTSTRAPPER_RELATION_ADDON; | 1650 | pCommand->relationType = BOOTSTRAPPER_RELATION_ADDON; |
| 1651 | 1651 | ||
| 1652 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1652 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1653 | } | 1653 | } |
| 1654 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON, -1)) | 1654 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON, -1, TRUE)) |
| 1655 | { | 1655 | { |
| 1656 | pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_ADDON; | 1656 | pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_ADDON; |
| 1657 | 1657 | ||
| 1658 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1658 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1659 | } | 1659 | } |
| 1660 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1)) | 1660 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1, TRUE)) |
| 1661 | { | 1661 | { |
| 1662 | pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH; | 1662 | pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH; |
| 1663 | 1663 | ||
| 1664 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1664 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1665 | } | 1665 | } |
| 1666 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH, -1)) | 1666 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH, -1, TRUE)) |
| 1667 | { | 1667 | { |
| 1668 | pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_PATCH; | 1668 | pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_PATCH; |
| 1669 | 1669 | ||
| 1670 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1670 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1671 | } | 1671 | } |
| 1672 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1)) | 1672 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1, TRUE)) |
| 1673 | { | 1673 | { |
| 1674 | pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE; | 1674 | pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE; |
| 1675 | 1675 | ||
| 1676 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1676 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1677 | } | 1677 | } |
| 1678 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE, -1)) | 1678 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE, -1, TRUE)) |
| 1679 | { | 1679 | { |
| 1680 | pCommand->relationType = BOOTSTRAPPER_RELATION_CHAIN_PACKAGE; | 1680 | pCommand->relationType = BOOTSTRAPPER_RELATION_CHAIN_PACKAGE; |
| 1681 | 1681 | ||
| 1682 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); | 1682 | LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); |
| 1683 | } | 1683 | } |
| 1684 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PASSTHROUGH, -1)) | 1684 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_PASSTHROUGH, -1, TRUE)) |
| 1685 | { | 1685 | { |
| 1686 | pCommand->fPassthrough = TRUE; | 1686 | pCommand->fPassthrough = TRUE; |
| 1687 | } | 1687 | } |
| 1688 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RUNONCE, -1)) | 1688 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RUNONCE, -1, TRUE)) |
| 1689 | { | 1689 | { |
| 1690 | switch (pInternalCommand->mode) | 1690 | switch (pInternalCommand->mode) |
| 1691 | { | 1691 | { |
| @@ -1698,7 +1698,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1698 | TraceLog(E_INVALIDARG, "Multiple mode command-line switches were provided."); | 1698 | TraceLog(E_INVALIDARG, "Multiple mode command-line switches were provided."); |
| 1699 | } | 1699 | } |
| 1700 | } | 1700 | } |
| 1701 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES), BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES, lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES))) | 1701 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES), BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES, lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES), TRUE)) |
| 1702 | { | 1702 | { |
| 1703 | // Get a pointer to the next character after the switch. | 1703 | // Get a pointer to the next character after the switch. |
| 1704 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES)]; | 1704 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES)]; |
| @@ -1713,7 +1713,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1713 | ExitOnFailure(hr, "Failed to allocate the list of dependencies to ignore."); | 1713 | ExitOnFailure(hr, "Failed to allocate the list of dependencies to ignore."); |
| 1714 | } | 1714 | } |
| 1715 | } | 1715 | } |
| 1716 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS), BURN_COMMANDLINE_SWITCH_ANCESTORS, lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS))) | 1716 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS), BURN_COMMANDLINE_SWITCH_ANCESTORS, lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS), TRUE)) |
| 1717 | { | 1717 | { |
| 1718 | // Get a pointer to the next character after the switch. | 1718 | // Get a pointer to the next character after the switch. |
| 1719 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS)]; | 1719 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_ANCESTORS)]; |
| @@ -1728,7 +1728,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1728 | ExitOnFailure(hr, "Failed to allocate the list of ancestors."); | 1728 | ExitOnFailure(hr, "Failed to allocate the list of ancestors."); |
| 1729 | } | 1729 | } |
| 1730 | } | 1730 | } |
| 1731 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY), BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY, lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY))) | 1731 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY), BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY, lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY), TRUE)) |
| 1732 | { | 1732 | { |
| 1733 | // Get a pointer to the next character after the switch. | 1733 | // Get a pointer to the next character after the switch. |
| 1734 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY)]; | 1734 | LPCWSTR wzParam = &argv[i][1 + lstrlenW(BURN_COMMANDLINE_SWITCH_WORKING_DIRECTORY)]; |
| @@ -1743,7 +1743,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1743 | ExitOnFailure(hr, "Failed to store the custom working directory."); | 1743 | ExitOnFailure(hr, "Failed to store the custom working directory."); |
| 1744 | } | 1744 | } |
| 1745 | } | 1745 | } |
| 1746 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED), BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED))) | 1746 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED), BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED), TRUE)) |
| 1747 | { | 1747 | { |
| 1748 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED)]; | 1748 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_ATTACHED)]; |
| 1749 | if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) | 1749 | if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) |
| @@ -1765,7 +1765,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1765 | } | 1765 | } |
| 1766 | } | 1766 | } |
| 1767 | } | 1767 | } |
| 1768 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF))) | 1768 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF, lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF), TRUE)) |
| 1769 | { | 1769 | { |
| 1770 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF)]; | 1770 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF)]; |
| 1771 | if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) | 1771 | if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) |
| @@ -1787,7 +1787,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1787 | } | 1787 | } |
| 1788 | } | 1788 | } |
| 1789 | } | 1789 | } |
| 1790 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN), BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN, lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN))) | 1790 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN), BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN, lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN), TRUE)) |
| 1791 | { | 1791 | { |
| 1792 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN)]; | 1792 | LPCWSTR wzParam = &argv[i][2 + lstrlenW(BURN_COMMANDLINE_SWITCH_SPLASH_SCREEN)]; |
| 1793 | if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) | 1793 | if (L'=' != wzParam[-1] || L'\0' == wzParam[0]) |
| @@ -1809,7 +1809,7 @@ extern "C" HRESULT CoreParseCommandLine( | |||
| 1809 | } | 1809 | } |
| 1810 | } | 1810 | } |
| 1811 | } | 1811 | } |
| 1812 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX), BURN_COMMANDLINE_SWITCH_PREFIX, lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX))) | 1812 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX), BURN_COMMANDLINE_SWITCH_PREFIX, lstrlenW(BURN_COMMANDLINE_SWITCH_PREFIX), TRUE)) |
| 1813 | { | 1813 | { |
| 1814 | // Skip (but log) any other private burn switches we don't recognize, so that | 1814 | // Skip (but log) any other private burn switches we don't recognize, so that |
| 1815 | // adding future private variables doesn't break old bundles | 1815 | // adding future private variables doesn't break old bundles |
diff --git a/src/burn/engine/dependency.cpp b/src/burn/engine/dependency.cpp index f398a070..767d5004 100644 --- a/src/burn/engine/dependency.cpp +++ b/src/burn/engine/dependency.cpp | |||
| @@ -263,7 +263,7 @@ extern "C" HRESULT DependencyDetectProviderKeyBundleCode( | |||
| 263 | hr = StrAllocString(&pRegistration->sczDetectedProviderKeyBundleCode, pRegistration->sczProviderKey, 0); | 263 | hr = StrAllocString(&pRegistration->sczDetectedProviderKeyBundleCode, pRegistration->sczProviderKey, 0); |
| 264 | ExitOnFailure(hr, "Failed to initialize provider key bundle code."); | 264 | ExitOnFailure(hr, "Failed to initialize provider key bundle code."); |
| 265 | } | 265 | } |
| 266 | else if (CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pRegistration->sczCode, -1, pRegistration->sczDetectedProviderKeyBundleCode, -1)) | 266 | else if (CSTR_EQUAL != ::CompareStringOrdinal(pRegistration->sczCode, -1, pRegistration->sczDetectedProviderKeyBundleCode, -1, TRUE)) |
| 267 | { | 267 | { |
| 268 | pRegistration->fDetectedForeignProviderKeyBundleCode = TRUE; | 268 | pRegistration->fDetectedForeignProviderKeyBundleCode = TRUE; |
| 269 | LogId(REPORT_STANDARD, MSG_DETECTED_FOREIGN_BUNDLE_PROVIDER_REGISTRATION, pRegistration->sczProviderKey, pRegistration->sczDetectedProviderKeyBundleCode); | 269 | LogId(REPORT_STANDARD, MSG_DETECTED_FOREIGN_BUNDLE_PROVIDER_REGISTRATION, pRegistration->sczProviderKey, pRegistration->sczDetectedProviderKeyBundleCode); |
| @@ -293,12 +293,12 @@ extern "C" HRESULT DependencyDetectBundle( | |||
| 293 | { | 293 | { |
| 294 | DEPENDENCY* pDependent = pRegistration->rgDependents + i; | 294 | DEPENDENCY* pDependent = pRegistration->rgDependents + i; |
| 295 | 295 | ||
| 296 | if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzActiveParent, -1, pDependent->sczKey, -1)) | 296 | if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzActiveParent, -1, pDependent->sczKey, -1, TRUE)) |
| 297 | { | 297 | { |
| 298 | pRegistration->fParentRegisteredAsDependent = TRUE; | 298 | pRegistration->fParentRegisteredAsDependent = TRUE; |
| 299 | } | 299 | } |
| 300 | 300 | ||
| 301 | if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzSelfDependent, -1, pDependent->sczKey, -1)) | 301 | if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzSelfDependent, -1, pDependent->sczKey, -1, TRUE)) |
| 302 | { | 302 | { |
| 303 | pRegistration->fSelfRegisteredAsDependent = TRUE; | 303 | pRegistration->fSelfRegisteredAsDependent = TRUE; |
| 304 | } | 304 | } |
| @@ -905,7 +905,7 @@ extern "C" HRESULT DependencyDetectCompatibleEntry( | |||
| 905 | continue; | 905 | continue; |
| 906 | } | 906 | } |
| 907 | } | 907 | } |
| 908 | else if (sczId && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, wzPackageProviderId, -1, sczId, -1)) | 908 | else if (sczId && CSTR_EQUAL == ::CompareStringOrdinal(wzPackageProviderId, -1, sczId, -1, TRUE)) |
| 909 | { | 909 | { |
| 910 | continue; | 910 | continue; |
| 911 | } | 911 | } |
| @@ -969,7 +969,7 @@ static HRESULT DetectPackageDependents( | |||
| 969 | { | 969 | { |
| 970 | DEPENDENCY* pDependent = pProvider->rgDependents + iDependent; | 970 | DEPENDENCY* pDependent = pProvider->rgDependents + iDependent; |
| 971 | 971 | ||
| 972 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pRegistration->sczCode, -1, pDependent->sczKey, -1)) | 972 | if (CSTR_EQUAL == ::CompareStringOrdinal(pRegistration->sczCode, -1, pDependent->sczKey, -1, TRUE)) |
| 973 | { | 973 | { |
| 974 | pProvider->fBundleRegisteredAsDependent = TRUE; | 974 | pProvider->fBundleRegisteredAsDependent = TRUE; |
| 975 | fBundleRegisteredAsDependent = TRUE; | 975 | fBundleRegisteredAsDependent = TRUE; |
| @@ -1043,7 +1043,7 @@ static HRESULT SplitIgnoreDependencies( | |||
| 1043 | hr = DictAddKey(sdIgnoreDependencies, wzToken); | 1043 | hr = DictAddKey(sdIgnoreDependencies, wzToken); |
| 1044 | ExitOnFailure(hr, "Failed to add \"%ls\" to the string dictionary.", wzToken); | 1044 | ExitOnFailure(hr, "Failed to add \"%ls\" to the string dictionary.", wzToken); |
| 1045 | 1045 | ||
| 1046 | if (!*pfIgnoreAll && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, L"ALL", -1, wzToken, -1)) | 1046 | if (!*pfIgnoreAll && CSTR_EQUAL == ::CompareStringOrdinal(L"ALL", -1, wzToken, -1, TRUE)) |
| 1047 | { | 1047 | { |
| 1048 | *pfIgnoreAll = TRUE; | 1048 | *pfIgnoreAll = TRUE; |
| 1049 | } | 1049 | } |
diff --git a/src/burn/engine/detect.cpp b/src/burn/engine/detect.cpp index 08f6b57c..c19d382c 100644 --- a/src/burn/engine/detect.cpp +++ b/src/burn/engine/detect.cpp | |||
| @@ -130,7 +130,7 @@ extern "C" HRESULT DetectForwardCompatibleBundles( | |||
| 130 | BURN_RELATED_BUNDLE* pRelatedBundle = pRegistration->relatedBundles.rgRelatedBundles + iRelatedBundle; | 130 | BURN_RELATED_BUNDLE* pRelatedBundle = pRegistration->relatedBundles.rgRelatedBundles + iRelatedBundle; |
| 131 | 131 | ||
| 132 | if (BOOTSTRAPPER_RELATION_UPGRADE == pRelatedBundle->detectRelationType && | 132 | if (BOOTSTRAPPER_RELATION_UPGRADE == pRelatedBundle->detectRelationType && |
| 133 | CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pRegistration->sczDetectedProviderKeyBundleCode, -1, pRelatedBundle->package.sczId, -1)) | 133 | CSTR_EQUAL == ::CompareStringOrdinal(pRegistration->sczDetectedProviderKeyBundleCode, -1, pRelatedBundle->package.sczId, -1, TRUE)) |
| 134 | { | 134 | { |
| 135 | hr = VerCompareParsedVersions(pRegistration->pVersion, pRelatedBundle->pVersion, &nCompareResult); | 135 | hr = VerCompareParsedVersions(pRegistration->pVersion, pRelatedBundle->pVersion, &nCompareResult); |
| 136 | ExitOnFailure(hr, "Failed to compare bundle version '%ls' to related bundle version '%ls'", pRegistration->pVersion->sczVersion, pRelatedBundle->pVersion->sczVersion); | 136 | ExitOnFailure(hr, "Failed to compare bundle version '%ls' to related bundle version '%ls'", pRegistration->pVersion->sczVersion, pRelatedBundle->pVersion->sczVersion); |
diff --git a/src/burn/engine/elevation.cpp b/src/burn/engine/elevation.cpp index f208efc9..aff05ae3 100644 --- a/src/burn/engine/elevation.cpp +++ b/src/burn/engine/elevation.cpp | |||
| @@ -3380,7 +3380,7 @@ static HRESULT OnUninstallMsiCompatiblePackage( | |||
| 3380 | } | 3380 | } |
| 3381 | 3381 | ||
| 3382 | if (!sczCompatiblePackageId || !*sczCompatiblePackageId || | 3382 | if (!sczCompatiblePackageId || !*sczCompatiblePackageId || |
| 3383 | CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1)) | 3383 | CSTR_EQUAL != ::CompareStringOrdinal(pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1, TRUE)) |
| 3384 | { | 3384 | { |
| 3385 | ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId); | 3385 | ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId); |
| 3386 | } | 3386 | } |
| @@ -3792,7 +3792,7 @@ static HRESULT OnCleanCompatiblePackage( | |||
| 3792 | } | 3792 | } |
| 3793 | 3793 | ||
| 3794 | if (!sczCompatiblePackageId || !*sczCompatiblePackageId || | 3794 | if (!sczCompatiblePackageId || !*sczCompatiblePackageId || |
| 3795 | CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1)) | 3795 | CSTR_EQUAL != ::CompareStringOrdinal(pCompatiblePackage->compatibleEntry.sczId, -1, sczCompatiblePackageId, -1, TRUE)) |
| 3796 | { | 3796 | { |
| 3797 | ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId); | 3797 | ExitWithRootFailure(hr, E_INVALIDARG, "Package '%ls' has no compatible package with id: %ls", sczPackageId, sczCompatiblePackageId); |
| 3798 | } | 3798 | } |
diff --git a/src/burn/engine/msiengine.cpp b/src/burn/engine/msiengine.cpp index d5268b17..86fb0d9d 100644 --- a/src/burn/engine/msiengine.cpp +++ b/src/burn/engine/msiengine.cpp | |||
| @@ -523,7 +523,7 @@ extern "C" HRESULT MsiEngineDetectPackage( | |||
| 523 | ExitOnFailure(hr, "Failed to enum related products."); | 523 | ExitOnFailure(hr, "Failed to enum related products."); |
| 524 | 524 | ||
| 525 | // If we found ourselves, skip because saying that a package is related to itself is nonsensical. | 525 | // If we found ourselves, skip because saying that a package is related to itself is nonsensical. |
| 526 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pPackage->Msi.sczProductCode, -1, wzProductCode, -1)) | 526 | if (CSTR_EQUAL == ::CompareStringOrdinal(pPackage->Msi.sczProductCode, -1, wzProductCode, -1, TRUE)) |
| 527 | { | 527 | { |
| 528 | continue; | 528 | continue; |
| 529 | } | 529 | } |
| @@ -631,7 +631,7 @@ extern "C" HRESULT MsiEngineDetectPackage( | |||
| 631 | } | 631 | } |
| 632 | // It can't be a downgrade if the upgrade codes aren't the same. | 632 | // It can't be a downgrade if the upgrade codes aren't the same. |
| 633 | else if (BOOTSTRAPPER_PACKAGE_STATE_ABSENT == pPackage->currentState && | 633 | else if (BOOTSTRAPPER_PACKAGE_STATE_ABSENT == pPackage->currentState && |
| 634 | pPackage->Msi.sczUpgradeCode && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pPackage->Msi.sczUpgradeCode, -1, pRelatedMsi->sczUpgradeCode, -1)) | 634 | pPackage->Msi.sczUpgradeCode && CSTR_EQUAL == ::CompareStringOrdinal(pPackage->Msi.sczUpgradeCode, -1, pRelatedMsi->sczUpgradeCode, -1, TRUE)) |
| 635 | { | 635 | { |
| 636 | relatedMsiOperation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE; | 636 | relatedMsiOperation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE; |
| 637 | pPackage->Msi.operation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE; | 637 | pPackage->Msi.operation = BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE; |
diff --git a/src/burn/engine/relatedbundle.cpp b/src/burn/engine/relatedbundle.cpp index 938b24d7..d426dc53 100644 --- a/src/burn/engine/relatedbundle.cpp +++ b/src/burn/engine/relatedbundle.cpp | |||
| @@ -206,7 +206,7 @@ static __callback int __cdecl CompareRelatedBundlesDetect( | |||
| 206 | VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret); | 206 | VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret); |
| 207 | if (0 == ret) | 207 | if (0 == ret) |
| 208 | { | 208 | { |
| 209 | ret = ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1) - 2; | 209 | ret = ::CompareStringOrdinal(pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1, TRUE) - 2; |
| 210 | } | 210 | } |
| 211 | } | 211 | } |
| 212 | 212 | ||
| @@ -249,7 +249,7 @@ static __callback int __cdecl CompareRelatedBundlesPlan( | |||
| 249 | VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret); | 249 | VerCompareParsedVersions(pBundleLeft->pVersion, pBundleRight->pVersion, &ret); |
| 250 | if (0 == ret) | 250 | if (0 == ret) |
| 251 | { | 251 | { |
| 252 | ret = ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1) - 2; | 252 | ret = ::CompareStringOrdinal(pBundleLeft->package.sczId, -1, pBundleRight->package.sczId, -1, TRUE) - 2; |
| 253 | } | 253 | } |
| 254 | } | 254 | } |
| 255 | 255 | ||
| @@ -284,7 +284,7 @@ static HRESULT LoadIfRelatedBundle( | |||
| 284 | BURN_RELATED_BUNDLE* pRelatedBundle = NULL; | 284 | BURN_RELATED_BUNDLE* pRelatedBundle = NULL; |
| 285 | 285 | ||
| 286 | // If we found our bundle code, it's not a related bundle. | 286 | // If we found our bundle code, it's not a related bundle. |
| 287 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pBundle->wzBundleCode, -1, pRegistration->sczCode, -1)) | 287 | if (CSTR_EQUAL == ::CompareStringOrdinal(pBundle->wzBundleCode, -1, pRegistration->sczCode, -1, TRUE)) |
| 288 | { | 288 | { |
| 289 | ExitFunction1(hr = S_FALSE); | 289 | ExitFunction1(hr = S_FALSE); |
| 290 | } | 290 | } |
diff --git a/src/burn/engine/variable.cpp b/src/burn/engine/variable.cpp index 9d0aec52..dc59916a 100644 --- a/src/burn/engine/variable.cpp +++ b/src/burn/engine/variable.cpp | |||
| @@ -1144,7 +1144,7 @@ extern "C" BOOL VariableIsHiddenCommandLine( | |||
| 1144 | { | 1144 | { |
| 1145 | pVariable = pVariables->rgVariables + i; | 1145 | pVariable = pVariables->rgVariables + i; |
| 1146 | 1146 | ||
| 1147 | if (pVariable->fHidden && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pVariable->sczName, -1, wzVariable, -1)) | 1147 | if (pVariable->fHidden && CSTR_EQUAL == ::CompareStringOrdinal(pVariable->sczName, -1, wzVariable, -1, TRUE)) |
| 1148 | { | 1148 | { |
| 1149 | fHidden = TRUE; | 1149 | fHidden = TRUE; |
| 1150 | break; | 1150 | break; |
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp index 25a0cb35..e2850a62 100644 --- a/src/burn/test/BurnUnitTest/PlanTest.cpp +++ b/src/burn/test/BurnUnitTest/PlanTest.cpp | |||
| @@ -3161,12 +3161,12 @@ namespace Bootstrapper | |||
| 3161 | 3161 | ||
| 3162 | if (pDependencies->fSelfDependent || pDependencies->fActiveParent) | 3162 | if (pDependencies->fSelfDependent || pDependencies->fActiveParent) |
| 3163 | { | 3163 | { |
| 3164 | if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzActiveParent, -1, wzId, -1)) | 3164 | if (pDependencies->fActiveParent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzActiveParent, -1, wzId, -1, TRUE)) |
| 3165 | { | 3165 | { |
| 3166 | pRegistration->fParentRegisteredAsDependent = TRUE; | 3166 | pRegistration->fParentRegisteredAsDependent = TRUE; |
| 3167 | } | 3167 | } |
| 3168 | 3168 | ||
| 3169 | if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pDependencies->wzSelfDependent, -1, wzId, -1)) | 3169 | if (pDependencies->fSelfDependent && CSTR_EQUAL == ::CompareStringOrdinal(pDependencies->wzSelfDependent, -1, wzId, -1, TRUE)) |
| 3170 | { | 3170 | { |
| 3171 | pRegistration->fSelfRegisteredAsDependent = TRUE; | 3171 | pRegistration->fSelfRegisteredAsDependent = TRUE; |
| 3172 | } | 3172 | } |
diff --git a/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp b/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp index 59b2d8de..9ddab7c0 100644 --- a/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp +++ b/src/ext/Bal/stdbas/WixStandardBootstrapperApplication.cpp | |||
| @@ -2928,7 +2928,7 @@ private: | |||
| 2928 | 2928 | ||
| 2929 | if (argv[i][0] == L'-' || argv[i][0] == L'/') | 2929 | if (argv[i][0] == L'-' || argv[i][0] == L'/') |
| 2930 | { | 2930 | { |
| 2931 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"lang", -1)) | 2931 | if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"lang", -1, TRUE)) |
| 2932 | { | 2932 | { |
| 2933 | if (i + 1 >= argc) | 2933 | if (i + 1 >= argc) |
| 2934 | { | 2934 | { |
| @@ -2941,7 +2941,7 @@ private: | |||
| 2941 | hr = StrAllocString(psczLanguage, &argv[i][0], 0); | 2941 | hr = StrAllocString(psczLanguage, &argv[i][0], 0); |
| 2942 | BalExitOnFailure(hr, "Failed to copy language."); | 2942 | BalExitOnFailure(hr, "Failed to copy language."); |
| 2943 | } | 2943 | } |
| 2944 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"cache", -1)) | 2944 | else if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"cache", -1, TRUE)) |
| 2945 | { | 2945 | { |
| 2946 | m_fRequestedCacheOnly = TRUE; | 2946 | m_fRequestedCacheOnly = TRUE; |
| 2947 | } | 2947 | } |
diff --git a/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp b/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp index fc1938fe..9ad4e91f 100644 --- a/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp +++ b/src/ext/Bal/test/examples/TestEngine/ExampleTestEngine.cpp | |||
| @@ -19,15 +19,15 @@ int __cdecl wmain(int argc, LPWSTR argv[]) | |||
| 19 | { | 19 | { |
| 20 | fShowUsage = TRUE; | 20 | fShowUsage = TRUE; |
| 21 | } | 21 | } |
| 22 | else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"reload", -1)) | 22 | else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"reload", -1, TRUE)) |
| 23 | { | 23 | { |
| 24 | hr = RunReloadEngine(argv[2], argv[3]); | 24 | hr = RunReloadEngine(argv[2], argv[3]); |
| 25 | } | 25 | } |
| 26 | else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"shutdown", -1)) | 26 | else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"shutdown", -1, TRUE)) |
| 27 | { | 27 | { |
| 28 | hr = RunShutdownEngine(argv[2], argv[3]); | 28 | hr = RunShutdownEngine(argv[2], argv[3]); |
| 29 | } | 29 | } |
| 30 | else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"waitforquit", -1)) | 30 | else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"waitforquit", -1, TRUE)) |
| 31 | { | 31 | { |
| 32 | hr = RunWaitForQuitEngine(argv[2], argv[3]); | 32 | hr = RunWaitForQuitEngine(argv[2], argv[3]); |
| 33 | } | 33 | } |
diff --git a/src/ext/Iis/ca/scaapppool.cpp b/src/ext/Iis/ca/scaapppool.cpp index 781c55ca..951f2d4b 100644 --- a/src/ext/Iis/ca/scaapppool.cpp +++ b/src/ext/Iis/ca/scaapppool.cpp | |||
| @@ -80,7 +80,7 @@ HRESULT ScaAppPoolRead( | |||
| 80 | WcaLog(LOGMSG_VERBOSE, "Skipping ScaAppPoolRead() - required table not present"); | 80 | WcaLog(LOGMSG_VERBOSE, "Skipping ScaAppPoolRead() - required table not present"); |
| 81 | ExitFunction1(hr = S_FALSE); | 81 | ExitFunction1(hr = S_FALSE); |
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | hr = WcaBeginUnwrapQuery(&hComponentQuery, ppwzCustomActionData); | 84 | hr = WcaBeginUnwrapQuery(&hComponentQuery, ppwzCustomActionData); |
| 85 | ExitOnFailure(hr, "Failed to unwrap query for ScaAppPoolRead"); | 85 | ExitOnFailure(hr, "Failed to unwrap query for ScaAppPoolRead"); |
| 86 | 86 | ||
| @@ -478,17 +478,17 @@ HRESULT ScaWriteAppPool( | |||
| 478 | } | 478 | } |
| 479 | else if (psap->iAttributes & APATTR_OTHERUSER) | 479 | else if (psap->iAttributes & APATTR_OTHERUSER) |
| 480 | { | 480 | { |
| 481 | if (!*psap->suUser.wzDomain || CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzDomain, -1, L".", -1)) | 481 | if (!*psap->suUser.wzDomain || CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzDomain, -1, L".", -1, TRUE)) |
| 482 | { | 482 | { |
| 483 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"NetworkService", -1)) | 483 | if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"NetworkService", -1, TRUE)) |
| 484 | { | 484 | { |
| 485 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE; | 485 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE; |
| 486 | } | 486 | } |
| 487 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"LocalService", -1)) | 487 | else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"LocalService", -1, TRUE)) |
| 488 | { | 488 | { |
| 489 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE; | 489 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE; |
| 490 | } | 490 | } |
| 491 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"LocalSystem", -1)) | 491 | else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"LocalSystem", -1, TRUE)) |
| 492 | { | 492 | { |
| 493 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM; | 493 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM; |
| 494 | } | 494 | } |
| @@ -497,17 +497,17 @@ HRESULT ScaWriteAppPool( | |||
| 497 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER; | 497 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_SPECIFICUSER; |
| 498 | } | 498 | } |
| 499 | } | 499 | } |
| 500 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzDomain, -1, L"NT AUTHORITY", -1)) | 500 | else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzDomain, -1, L"NT AUTHORITY", -1, TRUE)) |
| 501 | { | 501 | { |
| 502 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"NETWORK SERVICE", -1)) | 502 | if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"NETWORK SERVICE", -1, TRUE)) |
| 503 | { | 503 | { |
| 504 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE; | 504 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_NETWORKSERVICE; |
| 505 | } | 505 | } |
| 506 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"SERVICE", -1)) | 506 | else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"SERVICE", -1, TRUE)) |
| 507 | { | 507 | { |
| 508 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE; | 508 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSERVICE; |
| 509 | } | 509 | } |
| 510 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, psap->suUser.wzName, -1, L"SYSTEM", -1)) | 510 | else if (CSTR_EQUAL == ::CompareStringOrdinal(psap->suUser.wzName, -1, L"SYSTEM", -1, TRUE)) |
| 511 | { | 511 | { |
| 512 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM; | 512 | dwIdentity = MD_APPPOOL_IDENTITY_TYPE_LOCALSYSTEM; |
| 513 | } | 513 | } |
diff --git a/src/ext/Iis/ca/scaexecIIS7.cpp b/src/ext/Iis/ca/scaexecIIS7.cpp index 108007a1..52378d34 100644 --- a/src/ext/Iis/ca/scaexecIIS7.cpp +++ b/src/ext/Iis/ca/scaexecIIS7.cpp | |||
| @@ -566,7 +566,7 @@ HRESULT IIS7AspProperty( | |||
| 566 | // | 566 | // |
| 567 | //Do not append trailing '/' for default vDir | 567 | //Do not append trailing '/' for default vDir |
| 568 | // | 568 | // |
| 569 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzPathName, -1, L"/", -1)) | 569 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzPathName, -1, L"/", -1, TRUE)) |
| 570 | { | 570 | { |
| 571 | hr = StrAllocConcat(&pwzLocationPath, L"/", 0); | 571 | hr = StrAllocConcat(&pwzLocationPath, L"/", 0); |
| 572 | ExitOnFailure(hr, "failed to copy location WebDir '/'"); | 572 | ExitOnFailure(hr, "failed to copy location WebDir '/'"); |
| @@ -742,7 +742,7 @@ HRESULT IIS7WebDir( | |||
| 742 | // | 742 | // |
| 743 | //Do not append trailing '/' for default vDir | 743 | //Do not append trailing '/' for default vDir |
| 744 | // | 744 | // |
| 745 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzPathName, -1, L"/", -1)) | 745 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzPathName, -1, L"/", -1, TRUE)) |
| 746 | { | 746 | { |
| 747 | hr = StrAllocConcat(&pwzLocationPath, L"/", 0); | 747 | hr = StrAllocConcat(&pwzLocationPath, L"/", 0); |
| 748 | ExitOnFailure(hr, "failed to copy location WebDir '/'"); | 748 | ExitOnFailure(hr, "failed to copy location WebDir '/'"); |
| @@ -998,7 +998,7 @@ HRESULT IIS7WebError( | |||
| 998 | hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName); | 998 | hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName); |
| 999 | ExitOnFailure(hr, "failed to format web error config path"); | 999 | ExitOnFailure(hr, "failed to format web error config path"); |
| 1000 | 1000 | ||
| 1001 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzAppName, -1, L"/", -1)) | 1001 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzAppName, -1, L"/", -1, TRUE)) |
| 1002 | { | 1002 | { |
| 1003 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); | 1003 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); |
| 1004 | ExitOnFailure(hr, "failed to copy web error config path delim"); | 1004 | ExitOnFailure(hr, "failed to copy web error config path delim"); |
| @@ -1325,7 +1325,7 @@ HRESULT IIS7HttpHeader( | |||
| 1325 | hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName); | 1325 | hr = StrAllocFormatted(&pwzConfigPath, L"%s/%s", IIS_CONFIG_APPHOST_ROOT, pwzSiteName); |
| 1326 | ExitOnFailure(hr, "failed to format web error config path"); | 1326 | ExitOnFailure(hr, "failed to format web error config path"); |
| 1327 | 1327 | ||
| 1328 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzAppName, -1, L"/", -1)) | 1328 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzAppName, -1, L"/", -1, TRUE)) |
| 1329 | { | 1329 | { |
| 1330 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); | 1330 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); |
| 1331 | ExitOnFailure(hr, "failed to copy web error config path delim"); | 1331 | ExitOnFailure(hr, "failed to copy web error config path delim"); |
| @@ -2340,7 +2340,7 @@ HRESULT IIS7AppExtension( | |||
| 2340 | // | 2340 | // |
| 2341 | //Do not append trailing '/' for default vDir | 2341 | //Do not append trailing '/' for default vDir |
| 2342 | // | 2342 | // |
| 2343 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzWebRoot, -1, L"/", -1)) | 2343 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzWebRoot, -1, L"/", -1, TRUE)) |
| 2344 | { | 2344 | { |
| 2345 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); | 2345 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); |
| 2346 | ExitOnFailure(hr, "failed to copy appext config path delim"); | 2346 | ExitOnFailure(hr, "failed to copy appext config path delim"); |
| @@ -2495,7 +2495,7 @@ LExit: | |||
| 2495 | // | 2495 | // |
| 2496 | //Do not append trailing '/' for default vDir | 2496 | //Do not append trailing '/' for default vDir |
| 2497 | // | 2497 | // |
| 2498 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzWebRoot, -1, L"/", -1)) | 2498 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzWebRoot, -1, L"/", -1, TRUE)) |
| 2499 | { | 2499 | { |
| 2500 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); | 2500 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); |
| 2501 | ExitOnFailure(hr, "failed to copy appext config path delim"); | 2501 | ExitOnFailure(hr, "failed to copy appext config path delim"); |
| @@ -2627,7 +2627,7 @@ HRESULT IIS7DirProperties( | |||
| 2627 | // | 2627 | // |
| 2628 | //Do not append trailing '/' for default vDir | 2628 | //Do not append trailing '/' for default vDir |
| 2629 | // | 2629 | // |
| 2630 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzWebRoot, -1, L"/", -1)) | 2630 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzWebRoot, -1, L"/", -1, TRUE)) |
| 2631 | { | 2631 | { |
| 2632 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); | 2632 | hr = StrAllocConcat(&pwzConfigPath, L"/", 0); |
| 2633 | ExitOnFailure(hr, "failed to copy appext config path delim"); | 2633 | ExitOnFailure(hr, "failed to copy appext config path delim"); |
| @@ -3337,7 +3337,7 @@ static HRESULT CreateWebLog( | |||
| 3337 | ExitOnFailure(hr, "Failed get logfile element"); | 3337 | ExitOnFailure(hr, "Failed get logfile element"); |
| 3338 | ReleaseVariant(vtProp); | 3338 | ReleaseVariant(vtProp); |
| 3339 | 3339 | ||
| 3340 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pwzFormat, -1, L"none", -1)) | 3340 | if (CSTR_EQUAL != ::CompareStringOrdinal(pwzFormat, -1, L"none", -1, TRUE)) |
| 3341 | { | 3341 | { |
| 3342 | hr = Iis7PutPropertyString(pLogFile, IIS_CONFIG_LOGFORMAT, pwzFormat); | 3342 | hr = Iis7PutPropertyString(pLogFile, IIS_CONFIG_LOGFORMAT, pwzFormat); |
| 3343 | ExitOnFailure(hr, "Failed set logfile format property"); | 3343 | ExitOnFailure(hr, "Failed set logfile format property"); |
| @@ -4118,7 +4118,7 @@ static HRESULT ClearLocationTag( | |||
| 4118 | ExitOnFailure(hr, "Failed to get IIS location collection count"); | 4118 | ExitOnFailure(hr, "Failed to get IIS location collection count"); |
| 4119 | 4119 | ||
| 4120 | hr = pLocation->get_Path(&bstrLocationPath); | 4120 | hr = pLocation->get_Path(&bstrLocationPath); |
| 4121 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, swLocationPath, -1, bstrLocationPath, -1)) | 4121 | if (CSTR_EQUAL == ::CompareStringOrdinal(swLocationPath, -1, bstrLocationPath, -1, TRUE)) |
| 4122 | { | 4122 | { |
| 4123 | hr = pLocationCollection->DeleteLocation(vtIndex); | 4123 | hr = pLocationCollection->DeleteLocation(vtIndex); |
| 4124 | ExitOnFailure(hr, "Failed to delete IIS location tag %ls",swLocationPath); | 4124 | ExitOnFailure(hr, "Failed to delete IIS location tag %ls",swLocationPath); |
diff --git a/src/ext/Iis/ca/scawebappext.cpp b/src/ext/Iis/ca/scawebappext.cpp index cf3b9dd3..2f74871c 100644 --- a/src/ext/Iis/ca/scawebappext.cpp +++ b/src/ext/Iis/ca/scawebappext.cpp | |||
| @@ -124,7 +124,7 @@ HRESULT ScaWebAppExtensionsWrite( | |||
| 124 | } | 124 | } |
| 125 | 125 | ||
| 126 | // if verbs were specified and not the keyword "all" | 126 | // if verbs were specified and not the keyword "all" |
| 127 | if (pswappext->wzVerbs[0] && CSTR_EQUAL != CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pswappext->wzVerbs, -1, L"all", -1)) | 127 | if (pswappext->wzVerbs[0] && CSTR_EQUAL != CompareStringOrdinal(pswappext->wzVerbs, -1, L"all", -1, TRUE)) |
| 128 | { | 128 | { |
| 129 | hr = ::StringCchCatW(wzAppExtension, countof(wzAppExtension), L","); | 129 | hr = ::StringCchCatW(wzAppExtension, countof(wzAppExtension), L","); |
| 130 | ExitOnFailure(hr, "Failed to concatenate comma to app extension string"); | 130 | ExitOnFailure(hr, "Failed to concatenate comma to app extension string"); |
diff --git a/src/ext/NetFx/netcoresearch/netcoresearch.cpp b/src/ext/NetFx/netcoresearch/netcoresearch.cpp index 8c788461..1b151d8f 100644 --- a/src/ext/NetFx/netcoresearch/netcoresearch.cpp +++ b/src/ext/NetFx/netcoresearch/netcoresearch.cpp | |||
| @@ -86,7 +86,7 @@ HRESULT GetSearchStateFromArguments( | |||
| 86 | 86 | ||
| 87 | wzSearchKind = argv[1]; | 87 | wzSearchKind = argv[1]; |
| 88 | 88 | ||
| 89 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzSearchKind, -1, L"runtime", -1)) | 89 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzSearchKind, -1, L"runtime", -1, TRUE)) |
| 90 | { | 90 | { |
| 91 | if (argc != 4) | 91 | if (argc != 4) |
| 92 | { | 92 | { |
| @@ -103,7 +103,7 @@ HRESULT GetSearchStateFromArguments( | |||
| 103 | 103 | ||
| 104 | pSearchState->Runtime.wzTargetName = wzTargetName; | 104 | pSearchState->Runtime.wzTargetName = wzTargetName; |
| 105 | } | 105 | } |
| 106 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzSearchKind, -1, L"sdk", -1)) | 106 | else if (CSTR_EQUAL == ::CompareStringOrdinal(wzSearchKind, -1, L"sdk", -1, TRUE)) |
| 107 | { | 107 | { |
| 108 | if (argc != 3) | 108 | if (argc != 3) |
| 109 | { | 109 | { |
| @@ -117,7 +117,7 @@ HRESULT GetSearchStateFromArguments( | |||
| 117 | hr = StrStringToUInt32(wzMajorVersion, 0, reinterpret_cast<UINT*>(&pSearchState->Sdk.dwMajorVersion)); | 117 | hr = StrStringToUInt32(wzMajorVersion, 0, reinterpret_cast<UINT*>(&pSearchState->Sdk.dwMajorVersion)); |
| 118 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to get sdk major version from: %ls", wzMajorVersion); | 118 | ConsoleExitOnFailure(hr, CONSOLE_COLOR_RED, "Failed to get sdk major version from: %ls", wzMajorVersion); |
| 119 | } | 119 | } |
| 120 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzSearchKind, -1, L"sdkfeatureband", -1)) | 120 | else if (CSTR_EQUAL == ::CompareStringOrdinal(wzSearchKind, -1, L"sdkfeatureband", -1, TRUE)) |
| 121 | { | 121 | { |
| 122 | if (argc != 5) | 122 | if (argc != 5) |
| 123 | { | 123 | { |
| @@ -208,7 +208,7 @@ static HRESULT PerformRuntimeSearch( | |||
| 208 | const hostfxr_dotnet_environment_framework_info* pFrameworkInfo = pInfo->frameworks + i; | 208 | const hostfxr_dotnet_environment_framework_info* pFrameworkInfo = pInfo->frameworks + i; |
| 209 | ReleaseVerutilVersion(pFrameworkVersion); | 209 | ReleaseVerutilVersion(pFrameworkVersion); |
| 210 | 210 | ||
| 211 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzTargetName, -1, pFrameworkInfo->name, -1)) | 211 | if (CSTR_EQUAL != ::CompareStringOrdinal(wzTargetName, -1, pFrameworkInfo->name, -1, TRUE)) |
| 212 | { | 212 | { |
| 213 | continue; | 213 | continue; |
| 214 | } | 214 | } |
diff --git a/src/ext/VisualStudio/ca/vsca.cpp b/src/ext/VisualStudio/ca/vsca.cpp index 736add1f..681187d6 100644 --- a/src/ext/VisualStudio/ca/vsca.cpp +++ b/src/ext/VisualStudio/ca/vsca.cpp | |||
| @@ -219,7 +219,7 @@ static HRESULT InstanceInProducts( | |||
| 219 | { | 219 | { |
| 220 | const LPCWSTR wzProduct = rgwzProducts[i]; | 220 | const LPCWSTR wzProduct = rgwzProducts[i]; |
| 221 | 221 | ||
| 222 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, bstrId, -1, wzProduct, -1)) | 222 | if (CSTR_EQUAL == ::CompareStringOrdinal(bstrId, -1, wzProduct, -1, TRUE)) |
| 223 | { | 223 | { |
| 224 | hr = S_OK; | 224 | hr = S_OK; |
| 225 | ExitFunction(); | 225 | ExitFunction(); |
| @@ -579,7 +579,7 @@ static HRESULT SetPropertyForComponent( | |||
| 579 | { | 579 | { |
| 580 | const VS_COMPONENT_PROPERTY* pComponent = &rgComponents[i]; | 580 | const VS_COMPONENT_PROPERTY* pComponent = &rgComponents[i]; |
| 581 | 581 | ||
| 582 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pComponent->pwzComponent, -1, wzComponent, -1)) | 582 | if (CSTR_EQUAL == ::CompareStringOrdinal(pComponent->pwzComponent, -1, wzComponent, -1, TRUE)) |
| 583 | { | 583 | { |
| 584 | hr = WcaSetIntProperty(pComponent->pwzProperty, 1); | 584 | hr = WcaSetIntProperty(pComponent->pwzProperty, 1); |
| 585 | ExitOnFailure(hr, "Failed to set property: %ls", pComponent->pwzProperty); | 585 | ExitOnFailure(hr, "Failed to set property: %ls", pComponent->pwzProperty); |
diff --git a/src/libs/dutil/WixToolset.DUtil/acl2util.cpp b/src/libs/dutil/WixToolset.DUtil/acl2util.cpp index 598f12e7..e62a03d4 100644 --- a/src/libs/dutil/WixToolset.DUtil/acl2util.cpp +++ b/src/libs/dutil/WixToolset.DUtil/acl2util.cpp | |||
| @@ -106,7 +106,7 @@ extern "C" HRESULT DAPI AclGetAccountSidStringEx( | |||
| 106 | HRESULT hrLength = ::StringCchLengthW(wzAccount, STRSAFE_MAX_CCH, reinterpret_cast<size_t*>(&cchAccount)); | 106 | HRESULT hrLength = ::StringCchLengthW(wzAccount, STRSAFE_MAX_CCH, reinterpret_cast<size_t*>(&cchAccount)); |
| 107 | AclExitOnFailure(hrLength, "Failed to get the length of the account name."); | 107 | AclExitOnFailure(hrLength, "Failed to get the length of the account name."); |
| 108 | 108 | ||
| 109 | if (11 < cchAccount && CSTR_EQUAL == CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, L"NT SERVICE\\", 11, wzAccount, 11)) | 109 | if (11 < cchAccount && CSTR_EQUAL == CompareStringOrdinal(L"NT SERVICE\\", 11, wzAccount, 11, TRUE)) |
| 110 | { | 110 | { |
| 111 | // If the service is not installed then LookupAccountName doesn't resolve the SID, but we can calculate it. | 111 | // If the service is not installed then LookupAccountName doesn't resolve the SID, but we can calculate it. |
| 112 | LPCWSTR wzServiceName = &wzAccount[11]; | 112 | LPCWSTR wzServiceName = &wzAccount[11]; |
diff --git a/src/libs/dutil/WixToolset.DUtil/apuputil.cpp b/src/libs/dutil/WixToolset.DUtil/apuputil.cpp index eb96d515..62cf4d06 100644 --- a/src/libs/dutil/WixToolset.DUtil/apuputil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/apuputil.cpp | |||
| @@ -112,7 +112,7 @@ extern "C" HRESULT DAPI ApupAllocChainFromAtom( | |||
| 112 | } | 112 | } |
| 113 | 113 | ||
| 114 | // Trim the unused entries from the end, if any of the entries failed to parse or validate | 114 | // Trim the unused entries from the end, if any of the entries failed to parse or validate |
| 115 | if (pChain->cEntries != pFeed->cEntries) | 115 | if (pChain->cEntries != pFeed->cEntries) |
| 116 | { | 116 | { |
| 117 | if (pChain->cEntries > 0) | 117 | if (pChain->cEntries > 0) |
| 118 | { | 118 | { |
| @@ -354,22 +354,22 @@ static HRESULT ParseEnclosure( | |||
| 354 | dwDigestLength = 0; | 354 | dwDigestLength = 0; |
| 355 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, L"algorithm", -1, pAttribute->wzAttribute, -1)) | 355 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, L"algorithm", -1, pAttribute->wzAttribute, -1)) |
| 356 | { | 356 | { |
| 357 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"md5", -1, pAttribute->wzValue, -1)) | 357 | if (CSTR_EQUAL == ::CompareStringOrdinal(L"md5", -1, pAttribute->wzValue, -1, TRUE)) |
| 358 | { | 358 | { |
| 359 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_MD5; | 359 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_MD5; |
| 360 | dwDigestLength = MD5_HASH_LEN; | 360 | dwDigestLength = MD5_HASH_LEN; |
| 361 | } | 361 | } |
| 362 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"sha1", -1, pAttribute->wzValue, -1)) | 362 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"sha1", -1, pAttribute->wzValue, -1, TRUE)) |
| 363 | { | 363 | { |
| 364 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA1; | 364 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA1; |
| 365 | dwDigestLength = SHA1_HASH_LEN; | 365 | dwDigestLength = SHA1_HASH_LEN; |
| 366 | } | 366 | } |
| 367 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"sha256", -1, pAttribute->wzValue, -1)) | 367 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"sha256", -1, pAttribute->wzValue, -1, TRUE)) |
| 368 | { | 368 | { |
| 369 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA256; | 369 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA256; |
| 370 | dwDigestLength = SHA256_HASH_LEN; | 370 | dwDigestLength = SHA256_HASH_LEN; |
| 371 | } | 371 | } |
| 372 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, L"sha512", -1, pAttribute->wzValue, -1)) | 372 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"sha512", -1, pAttribute->wzValue, -1, TRUE)) |
| 373 | { | 373 | { |
| 374 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA512; | 374 | pEnclosure->digestAlgorithm = APUP_HASH_ALGORITHM_SHA512; |
| 375 | dwDigestLength = SHA512_HASH_LEN; | 375 | dwDigestLength = SHA512_HASH_LEN; |
diff --git a/src/libs/dutil/WixToolset.DUtil/iis7util.cpp b/src/libs/dutil/WixToolset.DUtil/iis7util.cpp index d0a0b000..b0dc1444 100644 --- a/src/libs/dutil/WixToolset.DUtil/iis7util.cpp +++ b/src/libs/dutil/WixToolset.DUtil/iis7util.cpp | |||
| @@ -222,7 +222,7 @@ BOOL DAPI CompareVariantPath( | |||
| 222 | IisExitOnFailure(hr, "Failed to expand path %ls", pVariant2->bstrVal); | 222 | IisExitOnFailure(hr, "Failed to expand path %ls", pVariant2->bstrVal); |
| 223 | } | 223 | } |
| 224 | 224 | ||
| 225 | fEqual = CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzValue1, -1, wzValue2, -1); | 225 | fEqual = CSTR_EQUAL == ::CompareStringOrdinal(wzValue1, -1, wzValue2, -1, TRUE); |
| 226 | 226 | ||
| 227 | LExit: | 227 | LExit: |
| 228 | ReleaseNullStr(wzValue1); | 228 | ReleaseNullStr(wzValue1); |
| @@ -258,7 +258,7 @@ extern "C" BOOL DAPI Iis7IsMatchingAppHostElement( | |||
| 258 | 258 | ||
| 259 | hr = pElement->get_Name(&bstrElementName); | 259 | hr = pElement->get_Name(&bstrElementName); |
| 260 | IisExitOnFailure(hr, "Failed to get name of element"); | 260 | IisExitOnFailure(hr, "Failed to get name of element"); |
| 261 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, pComparison->sczElementName, -1, bstrElementName, -1)) | 261 | if (CSTR_EQUAL != ::CompareStringOrdinal(pComparison->sczElementName, -1, bstrElementName, -1, TRUE)) |
| 262 | { | 262 | { |
| 263 | ExitFunction(); | 263 | ExitFunction(); |
| 264 | } | 264 | } |
| @@ -293,7 +293,7 @@ BOOL DAPI IsMatchingAppHostMethod( | |||
| 293 | 293 | ||
| 294 | Assert(bstrName); | 294 | Assert(bstrName); |
| 295 | 295 | ||
| 296 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzMethodName, -1, bstrName, -1)) | 296 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzMethodName, -1, bstrName, -1, TRUE)) |
| 297 | { | 297 | { |
| 298 | fResult = TRUE; | 298 | fResult = TRUE; |
| 299 | } | 299 | } |
diff --git a/src/libs/dutil/WixToolset.DUtil/path2utl.cpp b/src/libs/dutil/WixToolset.DUtil/path2utl.cpp index d83a4578..06df8617 100644 --- a/src/libs/dutil/WixToolset.DUtil/path2utl.cpp +++ b/src/libs/dutil/WixToolset.DUtil/path2utl.cpp | |||
| @@ -306,7 +306,7 @@ DAPI_(HRESULT) PathCompareCanonicalized( | |||
| 306 | hr = PathCanonicalizeForComparison(wzPath2, dwDefaultFlags, &sczCanonicalized2); | 306 | hr = PathCanonicalizeForComparison(wzPath2, dwDefaultFlags, &sczCanonicalized2); |
| 307 | PathExitOnFailure(hr, "Failed to canonicalize wzPath2."); | 307 | PathExitOnFailure(hr, "Failed to canonicalize wzPath2."); |
| 308 | 308 | ||
| 309 | nResult = ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, sczCanonicalized1, -1, sczCanonicalized2, -1); | 309 | nResult = ::CompareStringOrdinal(sczCanonicalized1, -1, sczCanonicalized2, -1, TRUE); |
| 310 | PathExitOnNullWithLastError(nResult, hr, "Failed to compare canonicalized paths."); | 310 | PathExitOnNullWithLastError(nResult, hr, "Failed to compare canonicalized paths."); |
| 311 | 311 | ||
| 312 | *pfEqual = CSTR_EQUAL == nResult; | 312 | *pfEqual = CSTR_EQUAL == nResult; |
| @@ -364,7 +364,7 @@ DAPI_(HRESULT) PathDirectoryContainsPath( | |||
| 364 | ExitFunction1(hr = S_FALSE); | 364 | ExitFunction1(hr = S_FALSE); |
| 365 | } | 365 | } |
| 366 | 366 | ||
| 367 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, sczCanonicalizedDirectory, (DWORD)cchDirectory, sczCanonicalizedPath, (DWORD)cchDirectory)) | 367 | if (CSTR_EQUAL != ::CompareStringOrdinal(sczCanonicalizedDirectory, (DWORD)cchDirectory, sczCanonicalizedPath, (DWORD)cchDirectory, TRUE)) |
| 368 | { | 368 | { |
| 369 | ExitFunction1(hr = S_FALSE); | 369 | ExitFunction1(hr = S_FALSE); |
| 370 | } | 370 | } |
diff --git a/src/tools/thmviewer/load.cpp b/src/tools/thmviewer/load.cpp index 924f373d..ca1460e3 100644 --- a/src/tools/thmviewer/load.cpp +++ b/src/tools/thmviewer/load.cpp | |||
| @@ -152,7 +152,7 @@ static DWORD WINAPI LoadThreadProc( | |||
| 152 | // If our file was updated, check to see if the modified time really changed. The notifications | 152 | // If our file was updated, check to see if the modified time really changed. The notifications |
| 153 | // are often trigger happy thinking the file changed two or three times in a row. Maybe it's AV | 153 | // are often trigger happy thinking the file changed two or three times in a row. Maybe it's AV |
| 154 | // software creating the problems but actually checking the modified date works well. | 154 | // software creating the problems but actually checking the modified date works well. |
| 155 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pNotification->FileName, pNotification->FileNameLength / sizeof(WCHAR), wzFileName, -1)) | 155 | if (CSTR_EQUAL == ::CompareStringOrdinal(pNotification->FileName, pNotification->FileNameLength / sizeof(WCHAR), wzFileName, -1, TRUE)) |
| 156 | { | 156 | { |
| 157 | FILETIME ft = { }; | 157 | FILETIME ft = { }; |
| 158 | FileGetTime(sczThemePath, NULL, NULL, &ft); | 158 | FileGetTime(sczThemePath, NULL, NULL, &ft); |
diff --git a/src/tools/thmviewer/thmviewer.cpp b/src/tools/thmviewer/thmviewer.cpp index 5d4b88f5..69a9920b 100644 --- a/src/tools/thmviewer/thmviewer.cpp +++ b/src/tools/thmviewer/thmviewer.cpp | |||
| @@ -241,7 +241,7 @@ static HRESULT ProcessCommandLine( | |||
| 241 | { | 241 | { |
| 242 | if (argv[i][0] == L'-' || argv[i][0] == L'/') | 242 | if (argv[i][0] == L'-' || argv[i][0] == L'/') |
| 243 | { | 243 | { |
| 244 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"lang", -1)) | 244 | if (CSTR_EQUAL == ::CompareStringOrdinal(&argv[i][1], -1, L"lang", -1, TRUE)) |
| 245 | { | 245 | { |
| 246 | if (i + 1 >= argc) | 246 | if (i + 1 >= argc) |
| 247 | { | 247 | { |
| @@ -254,7 +254,7 @@ static HRESULT ProcessCommandLine( | |||
| 254 | else | 254 | else |
| 255 | { | 255 | { |
| 256 | LPCWSTR wzExtension = PathExtension(argv[i]); | 256 | LPCWSTR wzExtension = PathExtension(argv[i]); |
| 257 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, wzExtension, -1, L".wxl", -1)) | 257 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzExtension, -1, L".wxl", -1, TRUE)) |
| 258 | { | 258 | { |
| 259 | hr = StrAllocString(psczWxlFile, argv[i], 0); | 259 | hr = StrAllocString(psczWxlFile, argv[i], 0); |
| 260 | } | 260 | } |
diff --git a/src/wix/wixnative/wixnative.cpp b/src/wix/wixnative/wixnative.cpp index d7db20f6..49299734 100644 --- a/src/wix/wixnative/wixnative.cpp +++ b/src/wix/wixnative/wixnative.cpp | |||
| @@ -21,19 +21,19 @@ int __cdecl wmain(int argc, LPWSTR argv[]) | |||
| 21 | hr = WixNativeReadStdinPreamble(); | 21 | hr = WixNativeReadStdinPreamble(); |
| 22 | ExitOnFailure(hr, "failed to read stdin preamble"); | 22 | ExitOnFailure(hr, "failed to read stdin preamble"); |
| 23 | 23 | ||
| 24 | if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"smartcab", -1)) | 24 | if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"smartcab", -1, TRUE)) |
| 25 | { | 25 | { |
| 26 | hr = SmartCabCommand(argc - 2, argv + 2); | 26 | hr = SmartCabCommand(argc - 2, argv + 2); |
| 27 | } | 27 | } |
| 28 | else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"extractcab", -1)) | 28 | else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"extractcab", -1, TRUE)) |
| 29 | { | 29 | { |
| 30 | hr = ExtractCabCommand(argc - 2, argv + 2); | 30 | hr = ExtractCabCommand(argc - 2, argv + 2); |
| 31 | } | 31 | } |
| 32 | else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"enumcab", -1)) | 32 | else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"enumcab", -1, TRUE)) |
| 33 | { | 33 | { |
| 34 | hr = EnumCabCommand(argc - 2, argv + 2); | 34 | hr = EnumCabCommand(argc - 2, argv + 2); |
| 35 | } | 35 | } |
| 36 | else if (CSTR_EQUAL == ::CompareString(LOCALE_INVARIANT, NORM_IGNORECASE, argv[1], -1, L"certhashes", -1)) | 36 | else if (CSTR_EQUAL == ::CompareStringOrdinal(argv[1], -1, L"certhashes", -1, TRUE)) |
| 37 | { | 37 | { |
| 38 | hr = CertificateHashesCommand(argc - 2, argv + 2); | 38 | hr = CertificateHashesCommand(argc - 2, argv + 2); |
| 39 | } | 39 | } |
