aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/variable.cpp
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2025-11-01 21:52:31 -0700
committerRob Mensching <rob@firegiant.com>2025-11-03 14:49:39 -0800
commitd2ba0da55725f2908b67e1470afc7cfd71cb3d1f (patch)
treec2a1db61c5fac031c698976106bba2c453d85ded /src/burn/engine/variable.cpp
parent4d626c294c4783d454e27ea4e5614037dac8576e (diff)
downloadwix-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/variable.cpp')
-rw-r--r--src/burn/engine/variable.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/burn/engine/variable.cpp b/src/burn/engine/variable.cpp
index dc59916a..a795d76c 100644
--- a/src/burn/engine/variable.cpp
+++ b/src/burn/engine/variable.cpp
@@ -397,7 +397,7 @@ extern "C" HRESULT VariablesParseFromXml(
397 hr = XmlGetAttributeEx(pixnNode, L"Type", &scz); 397 hr = XmlGetAttributeEx(pixnNode, L"Type", &scz);
398 ExitOnRequiredXmlQueryFailure(hr, "Failed to get @Type."); 398 ExitOnRequiredXmlQueryFailure(hr, "Failed to get @Type.");
399 399
400 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"formatted", -1)) 400 if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"formatted", -1, FALSE))
401 { 401 {
402 if (!fHidden) 402 if (!fHidden)
403 { 403 {
@@ -405,7 +405,7 @@ extern "C" HRESULT VariablesParseFromXml(
405 } 405 }
406 valueType = BURN_VARIANT_TYPE_FORMATTED; 406 valueType = BURN_VARIANT_TYPE_FORMATTED;
407 } 407 }
408 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"numeric", -1)) 408 else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"numeric", -1, FALSE))
409 { 409 {
410 if (!fHidden) 410 if (!fHidden)
411 { 411 {
@@ -413,7 +413,7 @@ extern "C" HRESULT VariablesParseFromXml(
413 } 413 }
414 valueType = BURN_VARIANT_TYPE_NUMERIC; 414 valueType = BURN_VARIANT_TYPE_NUMERIC;
415 } 415 }
416 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"string", -1)) 416 else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"string", -1, FALSE))
417 { 417 {
418 if (!fHidden) 418 if (!fHidden)
419 { 419 {
@@ -421,7 +421,7 @@ extern "C" HRESULT VariablesParseFromXml(
421 } 421 }
422 valueType = BURN_VARIANT_TYPE_STRING; 422 valueType = BURN_VARIANT_TYPE_STRING;
423 } 423 }
424 else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, scz, -1, L"version", -1)) 424 else if (CSTR_EQUAL == ::CompareStringOrdinal(scz, -1, L"version", -1, FALSE))
425 { 425 {
426 if (!fHidden) 426 if (!fHidden)
427 { 427 {
@@ -1556,7 +1556,7 @@ static HRESULT FindVariableIndexByName(
1556 DWORD iPosition = cRangeLength / 2; 1556 DWORD iPosition = cRangeLength / 2;
1557 BURN_VARIABLE* pVariable = &pVariables->rgVariables[iRangeFirst + iPosition]; 1557 BURN_VARIABLE* pVariable = &pVariables->rgVariables[iRangeFirst + iPosition];
1558 1558
1559 switch (::CompareStringW(LOCALE_INVARIANT, SORT_STRINGSORT, wzVariable, -1, pVariable->sczName, -1)) 1559 switch (::CompareStringOrdinal(wzVariable, -1, pVariable->sczName, -1, FALSE))
1560 { 1560 {
1561 case CSTR_LESS_THAN: 1561 case CSTR_LESS_THAN:
1562 // restrict range to elements before the current 1562 // restrict range to elements before the current
@@ -1591,7 +1591,7 @@ static HRESULT InsertUserVariable(
1591{ 1591{
1592 HRESULT hr = S_OK; 1592 HRESULT hr = S_OK;
1593 1593
1594 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, wzVariable, 3, L"Wix", 3)) 1594 if (CSTR_EQUAL == ::CompareStringOrdinal(wzVariable, 3, L"Wix", 3, FALSE))
1595 { 1595 {
1596 ExitWithRootFailure(hr, E_INVALIDARG, "Attempted to insert variable with reserved prefix: %ls", wzVariable); 1596 ExitWithRootFailure(hr, E_INVALIDARG, "Attempted to insert variable with reserved prefix: %ls", wzVariable);
1597 } 1597 }