in src/fc_parameter_argc_argv.c [70:128]
ARGC_ARGV_DATA_RESULT FABRIC_CONFIGURATION_PARAMETER_from_ARGC_ARGV(int argc, char** argv, FABRIC_CONFIGURATION_PARAMETER* fabric_configuration_parameter, int* argc_consumed)
{
ARGC_ARGV_DATA_RESULT result;
if (
(argc < 2) ||
(argv == NULL) ||
(argv[0] == NULL) ||
(argv[1] == NULL) ||
(fabric_configuration_parameter == NULL) ||
(argc_consumed == NULL)
)
{
LogError("invalid argument int argc=%d, char** argv=%p, FABRIC_CONFIGURATION_PARAMETER* fabric_configuration_parameter=%p, int* argc_consumed=%p",
argc, argv, fabric_configuration_parameter, argc_consumed);
result = ARGC_ARGV_DATA_INVALID;
}
else
{
for (uint32_t i = 0; i < sizeof(ARGC_ARGV_KEYWORDS_LIST) / sizeof(ARGC_ARGV_KEYWORDS_LIST[0]); i++)
{
if (strcmp(argv[0], ARGC_ARGV_KEYWORDS_LIST[i]) == 0)
{
LogVerbose("argv[0]=%s cannot be a parameter name because it is a reserved keyword", argv[0]);
return ARGC_ARGV_DATA_INVALID;
}
}
fabric_configuration_parameter->IsEncrypted = false;
fabric_configuration_parameter->MustOverride = false;
fabric_configuration_parameter->Reserved = NULL;
fabric_configuration_parameter->Name = mbs_to_wcs(argv[0]);
if (fabric_configuration_parameter->Name == NULL)
{
LogError("failure in mbs_to_wcs(argv[0]=%s);", argv[0]);
result = ARGC_ARGV_DATA_ERROR;
}
else
{
fabric_configuration_parameter->Value = mbs_to_wcs(argv[1]);
if (fabric_configuration_parameter->Value == NULL)
{
LogError("failure in mbs_to_wcs(argv[1]=%s);", argv[1]);
result = ARGC_ARGV_DATA_ERROR;
}
else
{
result = ARGC_ARGV_DATA_OK;
*argc_consumed = 2;
goto allok;
}
free((void*)fabric_configuration_parameter->Name);
}
}
allok:;
return result;
}