in src/fc_section_list_argc_argv.c [18:68]
int FABRIC_CONFIGURATION_SECTION_LIST_to_ARGC_ARGV(const FABRIC_CONFIGURATION_SECTION_LIST* fabric_configuration_section_list, int* argc, char*** argv)
{
int result;
if (
(fabric_configuration_section_list == NULL) ||
(argc == NULL) ||
(argv == NULL)
)
{
LogError("invalid argument const FABRIC_CONFIGURATION_SECTION_LIST* fabric_configuration_section_list=%p, int* argc=%p, char*** argv=%p",
fabric_configuration_section_list, argc, argv);
result = MU_FAILURE;
}
else
{
*argv = NULL;
*argc = 0;
bool wasError = false;
for (ULONG i = 0; !wasError && i < fabric_configuration_section_list->Count; i++)
{
int g_argc;
char** g_argv;
if (FABRIC_CONFIGURATION_SECTION_to_ARGC_ARGV(fabric_configuration_section_list->Items + i, &g_argc, &g_argv) != 0)
{
LogError("failure in FABRIC_CONFIGURATION_SECTION_to_ARGC_ARGV");
}
else
{
if (ARGC_ARGV_concat(argc, argv, g_argc, g_argv) != 0)
{
LogError("failure in ARGC_ARGV_concat");
wasError = true;
}
ARGC_ARGV_free(g_argc, g_argv);
}
}
if (wasError)
{
result = MU_FAILURE;
}
else
{
result = 0;
}
}
return result;
}