From 9bb420a19538321789b8300051cd595d6c00c710 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Mon, 21 Mar 2022 23:19:46 -0500 Subject: Add related command line switches for DEPENDENT_ADDON, DEPENDENT_PATCH. Implements 4504, needed for 3796/6252 --- src/burn/engine/core.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/burn/engine/core.cpp') diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp index becece86..e077d224 100644 --- a/src/burn/engine/core.cpp +++ b/src/burn/engine/core.cpp @@ -945,8 +945,12 @@ extern "C" LPCWSTR CoreRelationTypeToCommandLineString( case BOOTSTRAPPER_RELATION_UPDATE: wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_UPDATE; break; - case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON: __fallthrough; - case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH: __fallthrough; + case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON: + wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON; + break; + case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH: + wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH; + break; case BOOTSTRAPPER_RELATION_NONE: __fallthrough; default: wzRelationTypeCommandLine = NULL; @@ -1676,12 +1680,24 @@ extern "C" HRESULT CoreParseCommandLine( LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); } + else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_ADDON, -1)) + { + pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_ADDON; + + LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); + } else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_PATCH, -1)) { pCommand->relationType = BOOTSTRAPPER_RELATION_PATCH; LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); } + else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_DEPENDENT_PATCH, -1)) + { + pCommand->relationType = BOOTSTRAPPER_RELATION_DEPENDENT_PATCH; + + LogId(REPORT_STANDARD, MSG_BURN_RUN_BY_RELATED_BUNDLE, LoggingRelationTypeToString(pCommand->relationType)); + } else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, BURN_COMMANDLINE_SWITCH_RELATED_UPDATE, -1)) { pCommand->relationType = BOOTSTRAPPER_RELATION_UPDATE; -- cgit v1.2.3-55-g6feb