aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/plan.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-08-03 15:41:53 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-08-04 10:03:57 -0500
commit9ae1c04d5fa02ac020885cdad7c592f7bb43d83e (patch)
tree2832850289c8b703fa39e5d1c97666331e2310b1 /src/burn/engine/plan.cpp
parentce8acddf52bde840571535c3dfd56a2371d80684 (diff)
downloadwix-9ae1c04d5fa02ac020885cdad7c592f7bb43d83e.tar.gz
wix-9ae1c04d5fa02ac020885cdad7c592f7bb43d83e.tar.bz2
wix-9ae1c04d5fa02ac020885cdad7c592f7bb43d83e.zip
Parse most of Burn command line parameters into BURN_ENGINE_COMMAND.
Diffstat (limited to 'src/burn/engine/plan.cpp')
-rw-r--r--src/burn/engine/plan.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/burn/engine/plan.cpp b/src/burn/engine/plan.cpp
index 8c5b7051..f3d37978 100644
--- a/src/burn/engine/plan.cpp
+++ b/src/burn/engine/plan.cpp
@@ -428,15 +428,14 @@ LExit:
428 428
429extern "C" HRESULT PlanForwardCompatibleBundles( 429extern "C" HRESULT PlanForwardCompatibleBundles(
430 __in BURN_USER_EXPERIENCE* pUX, 430 __in BURN_USER_EXPERIENCE* pUX,
431 __in BOOTSTRAPPER_COMMAND* pCommand,
432 __in BURN_PLAN* pPlan, 431 __in BURN_PLAN* pPlan,
433 __in BURN_REGISTRATION* pRegistration, 432 __in BURN_REGISTRATION* pRegistration
434 __in BOOTSTRAPPER_ACTION action
435 ) 433 )
436{ 434{
437 HRESULT hr = S_OK; 435 HRESULT hr = S_OK;
438 BOOL fRecommendIgnore = TRUE; 436 BOOL fRecommendIgnore = TRUE;
439 BOOL fIgnoreBundle = FALSE; 437 BOOL fIgnoreBundle = FALSE;
438 BOOTSTRAPPER_ACTION action = pPlan->action;
440 439
441 if (!pRegistration->fForwardCompatibleBundleExists) 440 if (!pRegistration->fForwardCompatibleBundleExists)
442 { 441 {
@@ -480,7 +479,7 @@ extern "C" HRESULT PlanForwardCompatibleBundles(
480 479
481 if (!fIgnoreBundle) 480 if (!fIgnoreBundle)
482 { 481 {
483 hr = PseudoBundleInitializePassthrough(&pPlan->forwardCompatibleBundle, pPlan->pInternalCommand, pCommand, NULL, pRegistration->sczAncestors, &pRelatedBundle->package); 482 hr = PseudoBundleInitializePassthrough(&pPlan->forwardCompatibleBundle, pPlan->pInternalCommand, pPlan->pCommand, NULL, &pRelatedBundle->package);
484 ExitOnFailure(hr, "Failed to initialize pass through bundle."); 483 ExitOnFailure(hr, "Failed to initialize pass through bundle.");
485 484
486 pPlan->fEnabledForwardCompatibleBundle = TRUE; 485 pPlan->fEnabledForwardCompatibleBundle = TRUE;
@@ -1239,9 +1238,9 @@ extern "C" HRESULT PlanRelatedBundlesBegin(
1239 UINT cAncestors = 0; 1238 UINT cAncestors = 0;
1240 STRINGDICT_HANDLE sdAncestors = NULL; 1239 STRINGDICT_HANDLE sdAncestors = NULL;
1241 1240
1242 if (pRegistration->sczAncestors) 1241 if (pPlan->pInternalCommand->sczAncestors)
1243 { 1242 {
1244 hr = StrSplitAllocArray(&rgsczAncestors, &cAncestors, pRegistration->sczAncestors, L";"); 1243 hr = StrSplitAllocArray(&rgsczAncestors, &cAncestors, pPlan->pInternalCommand->sczAncestors, L";");
1245 ExitOnFailure(hr, "Failed to create string array from ancestors."); 1244 ExitOnFailure(hr, "Failed to create string array from ancestors.");
1246 1245
1247 hr = DictCreateStringListFromArray(&sdAncestors, rgsczAncestors, cAncestors, DICT_FLAG_CASEINSENSITIVE); 1246 hr = DictCreateStringListFromArray(&sdAncestors, rgsczAncestors, cAncestors, DICT_FLAG_CASEINSENSITIVE);
@@ -1777,14 +1776,14 @@ LExit:
1777extern "C" HRESULT PlanSetResumeCommand( 1776extern "C" HRESULT PlanSetResumeCommand(
1778 __in BURN_PLAN* pPlan, 1777 __in BURN_PLAN* pPlan,
1779 __in BURN_REGISTRATION* pRegistration, 1778 __in BURN_REGISTRATION* pRegistration,
1780 __in BOOTSTRAPPER_COMMAND* pCommand,
1781 __in BURN_LOGGING* pLog 1779 __in BURN_LOGGING* pLog
1782 ) 1780 )
1783{ 1781{
1784 HRESULT hr = S_OK; 1782 HRESULT hr = S_OK;
1783 BOOTSTRAPPER_COMMAND* pCommand = pPlan->pCommand;
1785 1784
1786 // build the resume command-line. 1785 // build the resume command-line.
1787 hr = CoreRecreateCommandLine(&pRegistration->sczResumeCommandLine, pPlan->action, pPlan->pInternalCommand, pCommand, pCommand->relationType, pCommand->fPassthrough, pRegistration->sczAncestors, pLog->sczPath, pCommand->wzCommandLine); 1786 hr = CoreRecreateCommandLine(&pRegistration->sczResumeCommandLine, pPlan->action, pPlan->pInternalCommand, pCommand, pCommand->relationType, pCommand->fPassthrough, pLog->sczPath);
1788 ExitOnFailure(hr, "Failed to recreate resume command-line."); 1787 ExitOnFailure(hr, "Failed to recreate resume command-line.");
1789 1788
1790LExit: 1789LExit: