Extend CLI debug report command to optionally accept a report path.
This commit is contained in:
@@ -28,12 +28,23 @@ CliDebugReportCommand::CliDebugReportCommand()
|
|||||||
void
|
void
|
||||||
CliDebugReportCommand::Execute(int argc, const char* const* argv, CliContext& context)
|
CliDebugReportCommand::Execute(int argc, const char* const* argv, CliContext& context)
|
||||||
{
|
{
|
||||||
char buffer[B_FILE_NAME_LENGTH];
|
|
||||||
UiUtils::ReportNameForTeam(context.GetTeam(), buffer, sizeof(buffer));
|
|
||||||
BPath path;
|
BPath path;
|
||||||
find_directory(B_DESKTOP_DIRECTORY, &path);
|
if (argc > 1) {
|
||||||
path.Append(buffer);
|
path.SetTo(argv[1]);
|
||||||
|
if (path.InitCheck() != B_OK) {
|
||||||
|
printf("Invalid report path %s given.\n", argv[1]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
char buffer[B_FILE_NAME_LENGTH];
|
||||||
|
UiUtils::ReportNameForTeam(context.GetTeam(), buffer, sizeof(buffer));
|
||||||
|
find_directory(B_DESKTOP_DIRECTORY, &path);
|
||||||
|
path.Append(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
entry_ref ref;
|
entry_ref ref;
|
||||||
if (get_ref_for_path(path.Path(), &ref) == B_OK)
|
if (get_ref_for_path(path.Path(), &ref) == B_OK) {
|
||||||
|
printf("Saving debug information report to %s...\n", path.Path());
|
||||||
context.GetUserInterfaceListener()->DebugReportRequested(&ref);
|
context.GetUserInterfaceListener()->DebugReportRequested(&ref);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user