in tools/updater/main.c [230:323]
static int parse_command_line(int argc, char **argv, updater_command_info_t *command_info)
{
if (argc == 1)
{
print_supprted_commands();
return EXIT_OK;
}
for (int i = 1; i < argc; i++)
{
if (command_info->requested_command != K4A_FIRMWARE_COMMAND_UNKNOWN)
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_USAGE;
printf("ERROR: Too many arguments.\n");
print_supprted_commands();
return EXIT_OK;
}
if ((0 == _stricmp("-PrintUsage", argv[i])) || (0 == _stricmp("/PrintUsage", argv[i])) ||
(0 == _stricmp("-Help", argv[i])) || (0 == _stricmp("/Help", argv[i])) || (0 == _stricmp("/?", argv[i])) ||
(0 == _stricmp("/h", argv[i])) || (0 == _stricmp("-h", argv[i])))
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_USAGE;
print_supprted_commands();
return EXIT_OK;
}
else if ((0 == _stricmp("-List", argv[i])) || (0 == _stricmp("-l", argv[i])) || (0 == _stricmp("/l", argv[i])))
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_LIST_DEVICES;
i = try_parse_device(argc, argv, i, command_info);
}
else if ((0 == _stricmp("-Query", argv[i])) || (0 == _stricmp("-q", argv[i])) || (0 == _stricmp("/q", argv[i])))
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_QUERY_DEVICE;
i = try_parse_device(argc, argv, i, command_info);
if (command_info->device_count == 0)
{
return EXIT_USAGE;
}
}
else if ((0 == _stricmp("-Update", argv[i])) || (0 == _stricmp("-u", argv[i])) ||
(0 == _stricmp("/u", argv[i])))
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_UPDATE_DEVICE;
i++;
if (i >= argc)
{
printf("ERROR: Not enough parameters.\n\n");
print_supprted_commands();
return EXIT_USAGE;
}
command_info->firmware_path = argv[i];
i = try_parse_device(argc, argv, i, command_info);
if (command_info->device_count == 0)
{
return EXIT_USAGE;
}
}
else if ((0 == _stricmp("-Reset", argv[i])) || (0 == _stricmp("-r", argv[i])) || (0 == _stricmp("/r", argv[i])))
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_RESET_DEVICE;
i = try_parse_device(argc, argv, i, command_info);
if (command_info->device_count == 0)
{
return EXIT_USAGE;
}
}
else if ((0 == _stricmp("-Inspect", argv[i])) || (0 == _stricmp("-i", argv[i])) ||
(0 == _stricmp("/i", argv[i])))
{
command_info->requested_command = K4A_FIRMWARE_COMMAND_INSPECT_FIRMWARE;
i++;
if (i >= argc)
{
printf("ERROR: Not enough parameters.\n\n");
print_supprted_commands();
return EXIT_USAGE;
}
command_info->firmware_path = argv[i];
}
else
{
printf("ERROR: Unrecognized command.\n\n");
print_supprted_commands();
return EXIT_USAGE;
}
}
return EXIT_OK;
}