diff options
| author | Rob Mensching <rob@firegiant.com> | 2025-11-01 21:52:31 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2025-11-03 14:49:39 -0800 |
| commit | d2ba0da55725f2908b67e1470afc7cfd71cb3d1f (patch) | |
| tree | c2a1db61c5fac031c698976106bba2c453d85ded /src/burn/engine/package.cpp | |
| parent | 4d626c294c4783d454e27ea4e5614037dac8576e (diff) | |
| download | wix-d2ba0da55725f2908b67e1470afc7cfd71cb3d1f.tar.gz wix-d2ba0da55725f2908b67e1470afc7cfd71cb3d1f.tar.bz2 wix-d2ba0da55725f2908b67e1470afc7cfd71cb3d1f.zip | |
Use CompareStringOrdinal() instead of CompareString() case-sensitive
This commit moves to the modern CompareStringOrdinal() for all case-sensitve
uses of CompareString() with the invariant locale.
Resolves 6947
Diffstat (limited to 'src/burn/engine/package.cpp')
| -rw-r--r-- | src/burn/engine/package.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/burn/engine/package.cpp b/src/burn/engine/package.cpp index fe8af497..3bf676ba 100644 --- a/src/burn/engine/package.cpp +++ b/src/burn/engine/package.cpp | |||
| @@ -123,15 +123,15 @@ extern "C" HRESULT PackagesParseFromXml( | |||
| 123 | 123 | ||
| 124 | if (fFoundXml) | 124 | if (fFoundXml) |
| 125 | { | 125 | { |
| 126 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"remove", -1)) | 126 | if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"remove", -1, FALSE)) |
| 127 | { | 127 | { |
| 128 | pPackage->authoredCacheType = BOOTSTRAPPER_CACHE_TYPE_REMOVE; | 128 | pPackage->authoredCacheType = BOOTSTRAPPER_CACHE_TYPE_REMOVE; |
| 129 | } | 129 | } |
| 130 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"keep", -1)) | 130 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"keep", -1, FALSE)) |
| 131 | { | 131 | { |
| 132 | pPackage->authoredCacheType = BOOTSTRAPPER_CACHE_TYPE_KEEP; | 132 | pPackage->authoredCacheType = BOOTSTRAPPER_CACHE_TYPE_KEEP; |
| 133 | } | 133 | } |
| 134 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"force", -1)) | 134 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"force", -1, FALSE)) |
| 135 | { | 135 | { |
| 136 | pPackage->authoredCacheType = BOOTSTRAPPER_CACHE_TYPE_FORCE; | 136 | pPackage->authoredCacheType = BOOTSTRAPPER_CACHE_TYPE_FORCE; |
| 137 | } | 137 | } |
| @@ -210,28 +210,28 @@ extern "C" HRESULT PackagesParseFromXml( | |||
| 210 | } | 210 | } |
| 211 | 211 | ||
| 212 | // read type specific attributes | 212 | // read type specific attributes |
| 213 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, bstrNodeName, -1, L"BundlePackage", -1)) | 213 | if (CSTR_EQUAL == ::CompareStringOrdinal(bstrNodeName, -1, L"BundlePackage", -1, FALSE)) |
| 214 | { | 214 | { |
| 215 | pPackage->type = BURN_PACKAGE_TYPE_BUNDLE; | 215 | pPackage->type = BURN_PACKAGE_TYPE_BUNDLE; |
| 216 | 216 | ||
| 217 | hr = BundlePackageEngineParsePackageFromXml(pixnNode, pPackage); // TODO: Modularization | 217 | hr = BundlePackageEngineParsePackageFromXml(pixnNode, pPackage); // TODO: Modularization |
| 218 | ExitOnFailure(hr, "Failed to parse BUNDLE package."); | 218 | ExitOnFailure(hr, "Failed to parse BUNDLE package."); |
| 219 | } | 219 | } |
| 220 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, bstrNodeName, -1, L"ExePackage", -1)) | 220 | else if (CSTR_EQUAL == ::CompareStringOrdinal(bstrNodeName, -1, L"ExePackage", -1, FALSE)) |
| 221 | { | 221 | { |
| 222 | pPackage->type = BURN_PACKAGE_TYPE_EXE; | 222 | pPackage->type = BURN_PACKAGE_TYPE_EXE; |
| 223 | 223 | ||
| 224 | hr = ExeEngineParsePackageFromXml(pixnNode, pPackage); // TODO: Modularization | 224 | hr = ExeEngineParsePackageFromXml(pixnNode, pPackage); // TODO: Modularization |
| 225 | ExitOnFailure(hr, "Failed to parse EXE package."); | 225 | ExitOnFailure(hr, "Failed to parse EXE package."); |
| 226 | } | 226 | } |
| 227 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, bstrNodeName, -1, L"MsiPackage", -1)) | 227 | else if (CSTR_EQUAL == ::CompareStringOrdinal(bstrNodeName, -1, L"MsiPackage", -1, FALSE)) |
| 228 | { | 228 | { |
| 229 | pPackage->type = BURN_PACKAGE_TYPE_MSI; | 229 | pPackage->type = BURN_PACKAGE_TYPE_MSI; |
| 230 | 230 | ||
| 231 | hr = MsiEngineParsePackageFromXml(pixnNode, pPackage); // TODO: Modularization | 231 | hr = MsiEngineParsePackageFromXml(pixnNode, pPackage); // TODO: Modularization |
| 232 | ExitOnFailure(hr, "Failed to parse MSI package."); | 232 | ExitOnFailure(hr, "Failed to parse MSI package."); |
| 233 | } | 233 | } |
| 234 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, bstrNodeName, -1, L"MspPackage", -1)) | 234 | else if (CSTR_EQUAL == ::CompareStringOrdinal(bstrNodeName, -1, L"MspPackage", -1, FALSE)) |
| 235 | { | 235 | { |
| 236 | pPackage->type = BURN_PACKAGE_TYPE_MSP; | 236 | pPackage->type = BURN_PACKAGE_TYPE_MSP; |
| 237 | 237 | ||
| @@ -240,7 +240,7 @@ extern "C" HRESULT PackagesParseFromXml( | |||
| 240 | 240 | ||
| 241 | ++cMspPackages; | 241 | ++cMspPackages; |
| 242 | } | 242 | } |
| 243 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, bstrNodeName, -1, L"MsuPackage", -1)) | 243 | else if (CSTR_EQUAL == ::CompareStringOrdinal(bstrNodeName, -1, L"MsuPackage", -1, FALSE)) |
| 244 | { | 244 | { |
| 245 | pPackage->type = BURN_PACKAGE_TYPE_MSU; | 245 | pPackage->type = BURN_PACKAGE_TYPE_MSU; |
| 246 | 246 | ||
| @@ -315,7 +315,7 @@ extern "C" HRESULT PackagesParseFromXml( | |||
| 315 | { | 315 | { |
| 316 | for (DWORD k = 0; k < pMsiPackage->Msi.cSlipstreamMspPackages; ++k) | 316 | for (DWORD k = 0; k < pMsiPackage->Msi.cSlipstreamMspPackages; ++k) |
| 317 | { | 317 | { |
| 318 | if (pMsiPackage->Msi.rgsczSlipstreamMspPackageIds[k] && CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pPackage->sczId, -1, pMsiPackage->Msi.rgsczSlipstreamMspPackageIds[k], -1)) | 318 | if (pMsiPackage->Msi.rgsczSlipstreamMspPackageIds[k] && CSTR_EQUAL == ::CompareStringOrdinal(pPackage->sczId, -1, pMsiPackage->Msi.rgsczSlipstreamMspPackageIds[k], -1, FALSE)) |
| 319 | { | 319 | { |
| 320 | BURN_SLIPSTREAM_MSP* pSlipstreamMsp = pMsiPackage->Msi.rgSlipstreamMsps + k; | 320 | BURN_SLIPSTREAM_MSP* pSlipstreamMsp = pMsiPackage->Msi.rgSlipstreamMsps + k; |
| 321 | pSlipstreamMsp->pMspPackage = pPackage; | 321 | pSlipstreamMsp->pMspPackage = pPackage; |
| @@ -486,7 +486,7 @@ extern "C" HRESULT PackageFindById( | |||
| 486 | { | 486 | { |
| 487 | pPackage = &pPackages->rgPackages[i]; | 487 | pPackage = &pPackages->rgPackages[i]; |
| 488 | 488 | ||
| 489 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pPackage->sczId, -1, wzId, -1)) | 489 | if (CSTR_EQUAL == ::CompareStringOrdinal(pPackage->sczId, -1, wzId, -1, FALSE)) |
| 490 | { | 490 | { |
| 491 | *ppPackage = pPackage; | 491 | *ppPackage = pPackage; |
| 492 | ExitFunction1(hr = S_OK); | 492 | ExitFunction1(hr = S_OK); |
| @@ -508,7 +508,7 @@ extern "C" HRESULT PackageFindRelatedById( | |||
| 508 | { | 508 | { |
| 509 | HRESULT hr = S_OK; | 509 | HRESULT hr = S_OK; |
| 510 | BURN_RELATED_BUNDLE* pRelatedBundle = NULL; | 510 | BURN_RELATED_BUNDLE* pRelatedBundle = NULL; |
| 511 | 511 | ||
| 512 | hr = RelatedBundleFindById(pRelatedBundles, wzId, &pRelatedBundle); | 512 | hr = RelatedBundleFindById(pRelatedBundles, wzId, &pRelatedBundle); |
| 513 | *ppPackage = FAILED(hr) ? NULL : &pRelatedBundle->package; | 513 | *ppPackage = FAILED(hr) ? NULL : &pRelatedBundle->package; |
| 514 | 514 | ||
| @@ -551,7 +551,7 @@ extern "C" HRESULT PackageGetProperty( | |||
| 551 | { | 551 | { |
| 552 | const BURN_MSIPROPERTY* pProperty = &rgProperties[i]; | 552 | const BURN_MSIPROPERTY* pProperty = &rgProperties[i]; |
| 553 | 553 | ||
| 554 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, pProperty->sczId, -1, wzProperty, -1)) | 554 | if (CSTR_EQUAL == ::CompareStringOrdinal(pProperty->sczId, -1, wzProperty, -1, FALSE)) |
| 555 | { | 555 | { |
| 556 | if (psczValue) | 556 | if (psczValue) |
| 557 | { | 557 | { |
| @@ -580,7 +580,7 @@ extern "C" HRESULT PackageFindRollbackBoundaryById( | |||
| 580 | { | 580 | { |
| 581 | pRollbackBoundary = &pPackages->rgRollbackBoundaries[i]; | 581 | pRollbackBoundary = &pPackages->rgRollbackBoundaries[i]; |
| 582 | 582 | ||
| 583 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pRollbackBoundary->sczId, -1, wzId, -1)) | 583 | if (CSTR_EQUAL == ::CompareStringOrdinal(pRollbackBoundary->sczId, -1, wzId, -1, FALSE)) |
| 584 | { | 584 | { |
| 585 | *ppRollbackBoundary = pRollbackBoundary; | 585 | *ppRollbackBoundary = pRollbackBoundary; |
| 586 | ExitFunction1(hr = S_OK); | 586 | ExitFunction1(hr = S_OK); |
| @@ -730,7 +730,7 @@ static HRESULT FindRollbackBoundaryById( | |||
| 730 | { | 730 | { |
| 731 | pRollbackBoundary = &pPackages->rgRollbackBoundaries[i]; | 731 | pRollbackBoundary = &pPackages->rgRollbackBoundaries[i]; |
| 732 | 732 | ||
| 733 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pRollbackBoundary->sczId, -1, wzId, -1)) | 733 | if (CSTR_EQUAL == ::CompareStringOrdinal(pRollbackBoundary->sczId, -1, wzId, -1, FALSE)) |
| 734 | { | 734 | { |
| 735 | *ppRollbackBoundary = pRollbackBoundary; | 735 | *ppRollbackBoundary = pRollbackBoundary; |
| 736 | ExitFunction1(hr = S_OK); | 736 | ExitFunction1(hr = S_OK); |
