diff options
author | Joe Onorato <joeo@google.com> | 2019-05-19 17:36:08 -0700 |
---|---|---|
committer | Joe Onorato <joeo@google.com> | 2019-05-21 13:29:23 -0700 |
commit | 5dfe3dfeb83e1da4d6316be11110fe24df40e5a6 (patch) | |
tree | 7baffdd51bea6be9220aa70b4b316651165557f3 /tools/incident_report | |
parent | dcd64522f4386d3e791c6242cff4c274ecc17326 (diff) |
Add command line utilites to set the reason field in incident report header
Bug: 132890298
Test: incident_report -t -r "\"Hello Joe\"" 3000
Change-Id: Ic7a2523d7e87ba88019c5ac9b23ff35387fbc498
Diffstat (limited to 'tools/incident_report')
-rw-r--r-- | tools/incident_report/main.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tools/incident_report/main.cpp b/tools/incident_report/main.cpp index 17a3c7a91329..974166a11c2d 100644 --- a/tools/incident_report/main.cpp +++ b/tools/incident_report/main.cpp @@ -292,6 +292,7 @@ usage(FILE* out) fprintf(out, "Take an incident report over adb (which must be in the PATH).\n"); fprintf(out, " -b output the incident report raw protobuf format\n"); fprintf(out, " -o OUTPUT the output file. OUTPUT may be '-' or omitted to use stdout\n"); + fprintf(out, " -r REASON human readable description of why the report is taken.\n"); fprintf(out, " -s SERIAL sent to adb to choose which device, instead of $ANDROID_SERIAL\n"); fprintf(out, " -t output the incident report in pretty-printed text format\n"); fprintf(out, "\n"); @@ -307,13 +308,14 @@ main(int argc, char** argv) enum { OUTPUT_TEXT, OUTPUT_PROTO } outputFormat = OUTPUT_TEXT; const char* inFilename = NULL; const char* outFilename = NULL; + const char* reason = NULL; const char* adbSerial = NULL; pid_t childPid = -1; vector<string> sections; const char* privacy = NULL; int opt; - while ((opt = getopt(argc, argv, "bhi:o:s:twp:")) != -1) { + while ((opt = getopt(argc, argv, "bhi:o:r:s:twp:")) != -1) { switch (opt) { case 'b': outputFormat = OUTPUT_PROTO; @@ -324,6 +326,9 @@ main(int argc, char** argv) case 'o': outFilename = optarg; break; + case 'r': + reason = optarg; + break; case 's': adbSerial = optarg; break; @@ -376,7 +381,7 @@ main(int argc, char** argv) dup2(pfd[1], STDOUT_FILENO); close(pfd[0]); close(pfd[1]); - char const** args = (char const**)malloc(sizeof(char*) * (8 + sections.size())); + char const** args = (char const**)malloc(sizeof(char*) * (10 + sections.size())); int argpos = 0; args[argpos++] = "adb"; if (adbSerial != NULL) { @@ -389,6 +394,10 @@ main(int argc, char** argv) args[argpos++] = "-p"; args[argpos++] = privacy; } + if (reason != NULL) { + args[argpos++] = "-r"; + args[argpos++] = reason; + } for (vector<string>::const_iterator it=sections.begin(); it!=sections.end(); it++) { args[argpos++] = it->c_str(); } |