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/api/burn/balutil/balinfo.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/api/burn/balutil/balinfo.cpp')
| -rw-r--r-- | src/api/burn/balutil/balinfo.cpp | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/api/burn/balutil/balinfo.cpp b/src/api/burn/balutil/balinfo.cpp index 8784a380..38c4bd18 100644 --- a/src/api/burn/balutil/balinfo.cpp +++ b/src/api/burn/balutil/balinfo.cpp | |||
| @@ -190,7 +190,7 @@ DAPI_(HRESULT) BalInfoAddRelatedBundleAsPackage( | |||
| 190 | // Check to see if the bundle is already in the list of packages. | 190 | // Check to see if the bundle is already in the list of packages. |
| 191 | for (DWORD i = 0; i < pPackages->cPackages; ++i) | 191 | for (DWORD i = 0; i < pPackages->cPackages; ++i) |
| 192 | { | 192 | { |
| 193 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzId, -1, pPackages->rgPackages[i].sczId, -1)) | 193 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzId, -1, pPackages->rgPackages[i].sczId, -1, FALSE)) |
| 194 | { | 194 | { |
| 195 | ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)); | 195 | ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)); |
| 196 | } | 196 | } |
| @@ -232,7 +232,7 @@ DAPI_(HRESULT) BalInfoAddUpdateBundleAsPackage( | |||
| 232 | // Check to see if the bundle is already in the list of packages. | 232 | // Check to see if the bundle is already in the list of packages. |
| 233 | for (DWORD i = 0; i < pPackages->cPackages; ++i) | 233 | for (DWORD i = 0; i < pPackages->cPackages; ++i) |
| 234 | { | 234 | { |
| 235 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzId, -1, pPackages->rgPackages[i].sczId, -1)) | 235 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzId, -1, pPackages->rgPackages[i].sczId, -1, FALSE)) |
| 236 | { | 236 | { |
| 237 | ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)); | 237 | ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)); |
| 238 | } | 238 | } |
| @@ -270,7 +270,7 @@ DAPI_(HRESULT) BalInfoFindPackageById( | |||
| 270 | 270 | ||
| 271 | for (DWORD i = 0; i < pPackages->cPackages; ++i) | 271 | for (DWORD i = 0; i < pPackages->cPackages; ++i) |
| 272 | { | 272 | { |
| 273 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzId, -1, pPackages->rgPackages[i].sczId, -1)) | 273 | if (CSTR_EQUAL == ::CompareStringOrdinal(wzId, -1, pPackages->rgPackages[i].sczId, -1, FALSE)) |
| 274 | { | 274 | { |
| 275 | *ppPackage = pPackages->rgPackages + i; | 275 | *ppPackage = pPackages->rgPackages + i; |
| 276 | break; | 276 | break; |
| @@ -409,23 +409,23 @@ static HRESULT ParsePackagesFromXml( | |||
| 409 | hr = XmlGetAttributeEx(pNode, L"PackageType", &scz); | 409 | hr = XmlGetAttributeEx(pNode, L"PackageType", &scz); |
| 410 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get package type for package."); | 410 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get package type for package."); |
| 411 | 411 | ||
| 412 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, L"Bundle", -1, scz, -1)) | 412 | if (CSTR_EQUAL == ::CompareStringOrdinal(L"Bundle", -1, scz, -1, FALSE)) |
| 413 | { | 413 | { |
| 414 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_BUNDLE_CHAIN; | 414 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_BUNDLE_CHAIN; |
| 415 | } | 415 | } |
| 416 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, L"Exe", -1, scz, -1)) | 416 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"Exe", -1, scz, -1, FALSE)) |
| 417 | { | 417 | { |
| 418 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_EXE; | 418 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_EXE; |
| 419 | } | 419 | } |
| 420 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, L"Msi", -1, scz, -1)) | 420 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"Msi", -1, scz, -1, FALSE)) |
| 421 | { | 421 | { |
| 422 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_MSI; | 422 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_MSI; |
| 423 | } | 423 | } |
| 424 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, L"Msp", -1, scz, -1)) | 424 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"Msp", -1, scz, -1, FALSE)) |
| 425 | { | 425 | { |
| 426 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_MSP; | 426 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_MSP; |
| 427 | } | 427 | } |
| 428 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, L"Msu", -1, scz, -1)) | 428 | else if (CSTR_EQUAL == ::CompareStringOrdinal(L"Msu", -1, scz, -1, FALSE)) |
| 429 | { | 429 | { |
| 430 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_MSU; | 430 | prgPackages[iPackage].type = BAL_INFO_PACKAGE_TYPE_MSU; |
| 431 | } | 431 | } |
| @@ -454,15 +454,15 @@ static HRESULT ParsePackagesFromXml( | |||
| 454 | hr = XmlGetAttributeEx(pNode, L"Cache", &scz); | 454 | hr = XmlGetAttributeEx(pNode, L"Cache", &scz); |
| 455 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get cache type for package."); | 455 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get cache type for package."); |
| 456 | 456 | ||
| 457 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, scz, -1, L"remove", -1)) | 457 | if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"remove", -1, FALSE)) |
| 458 | { | 458 | { |
| 459 | prgPackages[iPackage].cacheType = BOOTSTRAPPER_CACHE_TYPE_REMOVE; | 459 | prgPackages[iPackage].cacheType = BOOTSTRAPPER_CACHE_TYPE_REMOVE; |
| 460 | } | 460 | } |
| 461 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, scz, -1, L"keep", -1)) | 461 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"keep", -1, FALSE)) |
| 462 | { | 462 | { |
| 463 | prgPackages[iPackage].cacheType = BOOTSTRAPPER_CACHE_TYPE_KEEP; | 463 | prgPackages[iPackage].cacheType = BOOTSTRAPPER_CACHE_TYPE_KEEP; |
| 464 | } | 464 | } |
| 465 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, scz, -1, L"force", -1)) | 465 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"force", -1, FALSE)) |
| 466 | { | 466 | { |
| 467 | prgPackages[iPackage].cacheType = BOOTSTRAPPER_CACHE_TYPE_FORCE; | 467 | prgPackages[iPackage].cacheType = BOOTSTRAPPER_CACHE_TYPE_FORCE; |
| 468 | } | 468 | } |
| @@ -522,19 +522,19 @@ static HRESULT ParseBalPackageInfoFromXml( | |||
| 522 | 522 | ||
| 523 | if (fXmlFound) | 523 | if (fXmlFound) |
| 524 | { | 524 | { |
| 525 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"default", -1)) | 525 | if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"default", -1, FALSE)) |
| 526 | { | 526 | { |
| 527 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_DEFAULT; | 527 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_DEFAULT; |
| 528 | } | 528 | } |
| 529 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"x86", -1)) | 529 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"x86", -1, FALSE)) |
| 530 | { | 530 | { |
| 531 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_X86; | 531 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_X86; |
| 532 | } | 532 | } |
| 533 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"x64", -1)) | 533 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"x64", -1, FALSE)) |
| 534 | { | 534 | { |
| 535 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_X64; | 535 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_X64; |
| 536 | } | 536 | } |
| 537 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"arm64", -1)) | 537 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"arm64", -1, FALSE)) |
| 538 | { | 538 | { |
| 539 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_ARM64; | 539 | pPackage->primaryPackageType = BAL_INFO_PRIMARY_PACKAGE_TYPE_ARM64; |
| 540 | } | 540 | } |
| @@ -611,11 +611,11 @@ static HRESULT ParseOverridableVariablesFromXml( | |||
| 611 | hr = XmlGetAttributeEx(pCommandLineNode, L"VariableType", &scz); | 611 | hr = XmlGetAttributeEx(pCommandLineNode, L"VariableType", &scz); |
| 612 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get command line variable type."); | 612 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get command line variable type."); |
| 613 | 613 | ||
| 614 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"caseInsensitive", -1)) | 614 | if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"caseInsensitive", -1, FALSE)) |
| 615 | { | 615 | { |
| 616 | pOverridableVariables->commandLineType = BAL_INFO_VARIABLE_COMMAND_LINE_TYPE_CASE_INSENSITIVE; | 616 | pOverridableVariables->commandLineType = BAL_INFO_VARIABLE_COMMAND_LINE_TYPE_CASE_INSENSITIVE; |
| 617 | } | 617 | } |
| 618 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"caseSensitive", -1)) | 618 | else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"caseSensitive", -1, FALSE)) |
| 619 | { | 619 | { |
| 620 | pOverridableVariables->commandLineType = BAL_INFO_VARIABLE_COMMAND_LINE_TYPE_CASE_SENSITIVE; | 620 | pOverridableVariables->commandLineType = BAL_INFO_VARIABLE_COMMAND_LINE_TYPE_CASE_SENSITIVE; |
| 621 | } | 621 | } |
