diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-10-18 14:05:51 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-10-24 20:07:21 -0500 |
commit | bafc4f682a798eb375d32c1f4777664aceb1e15f (patch) | |
tree | cc9bcec75252a7e4025e6efc28f1918ac8361e62 /src/engine/variable.cpp | |
parent | 273c69f34311f4f4e5f6b5896e71d0788f12d96a (diff) | |
download | wix-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.cpp | 12 |
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 | ||
590 | LExit: | 595 | LExit: |
@@ -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. |