aboutsummaryrefslogtreecommitdiff
path: root/src/engine/variable.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-10-18 14:05:51 -0500
committerSean Hall <r.sean.hall@gmail.com>2020-10-24 20:07:21 -0500
commitbafc4f682a798eb375d32c1f4777664aceb1e15f (patch)
treecc9bcec75252a7e4025e6efc28f1918ac8361e62 /src/engine/variable.cpp
parent273c69f34311f4f4e5f6b5896e71d0788f12d96a (diff)
downloadwix-bafc4f682a798eb375d32c1f4777664aceb1e15f.tar.gz
wix-bafc4f682a798eb375d32c1f4777664aceb1e15f.tar.bz2
wix-bafc4f682a798eb375d32c1f4777664aceb1e15f.zip
Update string versioning.
Update condition parsing to allow specific characters for versions. Log every time an invalid version is parsed.
Diffstat (limited to 'src/engine/variable.cpp')
-rw-r--r--src/engine/variable.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/engine/variable.cpp b/src/engine/variable.cpp
index 3069ccf7..c2192346 100644
--- a/src/engine/variable.cpp
+++ b/src/engine/variable.cpp
@@ -393,6 +393,11 @@ extern "C" HRESULT VariablesParseFromXml(
393 hr = BVariantChangeType(&value, valueType); 393 hr = BVariantChangeType(&value, valueType);
394 ExitOnFailure(hr, "Failed to change variant type."); 394 ExitOnFailure(hr, "Failed to change variant type.");
395 395
396 if (BURN_VARIANT_TYPE_VERSION == valueType && value.pValue->fInvalid)
397 {
398 LogId(REPORT_WARNING, MSG_VARIABLE_INVALID_VERSION, sczId);
399 }
400
396 // find existing variable 401 // find existing variable
397 hr = FindVariableIndexByName(pVariables, sczId, &iVariable); 402 hr = FindVariableIndexByName(pVariables, sczId, &iVariable);
398 ExitOnFailure(hr, "Failed to find variable value '%ls'.", sczId); 403 ExitOnFailure(hr, "Failed to find variable value '%ls'.", sczId);
@@ -584,7 +589,7 @@ extern "C" HRESULT VariableGetVersion(
584 } 589 }
585 ExitOnFailure(hr, "Failed to get value of variable: %ls", wzVariable); 590 ExitOnFailure(hr, "Failed to get value of variable: %ls", wzVariable);
586 591
587 hr = BVariantGetVersion(&pVariable->Value, ppValue); 592 hr = BVariantGetVersionHidden(&pVariable->Value, pVariable->fHidden, ppValue);
588 ExitOnFailure(hr, "Failed to get value as version for variable: %ls", wzVariable); 593 ExitOnFailure(hr, "Failed to get value as version for variable: %ls", wzVariable);
589 594
590LExit: 595LExit:
@@ -1575,6 +1580,11 @@ static HRESULT SetVariableValue(
1575 break; 1580 break;
1576 } 1581 }
1577 } 1582 }
1583
1584 if (BURN_VARIANT_TYPE_VERSION == pVariant->Type && pVariant->pValue->fInvalid)
1585 {
1586 LogId(REPORT_WARNING, MSG_VARIABLE_INVALID_VERSION, wzVariable);
1587 }
1578 } 1588 }
1579 1589
1580 // Update variable value. 1590 // Update variable value.