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. |
