aboutsummaryrefslogtreecommitdiff
path: root/src/engine/variable.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-10-18 16:01:24 -0500
committerSean Hall <r.sean.hall@gmail.com>2020-10-24 20:07:21 -0500
commita0c40d5a1b8537a6338dacc27a88d236077ab785 (patch)
tree1dd1fed3eebe2d909f7dc10de94dd92b180f3c2f /src/engine/variable.cpp
parent60717700e175d38412559113c8a5388c954c7c91 (diff)
downloadwix-a0c40d5a1b8537a6338dacc27a88d236077ab785.tar.gz
wix-a0c40d5a1b8537a6338dacc27a88d236077ab785.tar.bz2
wix-a0c40d5a1b8537a6338dacc27a88d236077ab785.zip
Allow unsetting version variables.
Diffstat (limited to 'src/engine/variable.cpp')
-rw-r--r--src/engine/variable.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/engine/variable.cpp b/src/engine/variable.cpp
index c2192346..3425b92c 100644
--- a/src/engine/variable.cpp
+++ b/src/engine/variable.cpp
@@ -1551,7 +1551,7 @@ static HRESULT SetVariableValue(
1551 case BURN_VARIANT_TYPE_NONE: 1551 case BURN_VARIANT_TYPE_NONE:
1552 if (BURN_VARIANT_TYPE_NONE != pVariables->rgVariables[iVariable].Value.Type) 1552 if (BURN_VARIANT_TYPE_NONE != pVariables->rgVariables[iVariable].Value.Type)
1553 { 1553 {
1554 LogStringLine(REPORT_STANDARD, "Unsetting variable '%ls'", wzVariable, pVariant->sczValue); 1554 LogStringLine(REPORT_STANDARD, "Unsetting variable '%ls'", wzVariable);
1555 } 1555 }
1556 break; 1556 break;
1557 1557
@@ -1563,7 +1563,7 @@ static HRESULT SetVariableValue(
1563 case BURN_VARIANT_TYPE_STRING: 1563 case BURN_VARIANT_TYPE_STRING:
1564 if (!pVariant->sczValue) 1564 if (!pVariant->sczValue)
1565 { 1565 {
1566 LogStringLine(REPORT_STANDARD, "Unsetting variable '%ls'", wzVariable, pVariant->sczValue); 1566 LogStringLine(REPORT_STANDARD, "Unsetting variable '%ls'", wzVariable);
1567 } 1567 }
1568 else 1568 else
1569 { 1569 {
@@ -1572,7 +1572,14 @@ static HRESULT SetVariableValue(
1572 break; 1572 break;
1573 1573
1574 case BURN_VARIANT_TYPE_VERSION: 1574 case BURN_VARIANT_TYPE_VERSION:
1575 LogStringLine(REPORT_STANDARD, "Setting version variable '%ls' to value '%ls'", wzVariable, pVariant->pValue->sczVersion); 1575 if (!pVariant->pValue)
1576 {
1577 LogStringLine(REPORT_STANDARD, "Unsetting variable '%ls'", wzVariable);
1578 }
1579 else
1580 {
1581 LogStringLine(REPORT_STANDARD, "Setting version variable '%ls' to value '%ls'", wzVariable, pVariant->pValue->sczVersion);
1582 }
1576 break; 1583 break;
1577 1584
1578 default: 1585 default:
@@ -1581,7 +1588,7 @@ static HRESULT SetVariableValue(
1581 } 1588 }
1582 } 1589 }
1583 1590
1584 if (BURN_VARIANT_TYPE_VERSION == pVariant->Type && pVariant->pValue->fInvalid) 1591 if (BURN_VARIANT_TYPE_VERSION == pVariant->Type && pVariant->pValue && pVariant->pValue->fInvalid)
1585 { 1592 {
1586 LogId(REPORT_WARNING, MSG_VARIABLE_INVALID_VERSION, wzVariable); 1593 LogId(REPORT_WARNING, MSG_VARIABLE_INVALID_VERSION, wzVariable);
1587 } 1594 }