X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-crash%2Flttng-crash.c;h=8f94544ba54794f1dbbed0fecca70cc5e44b2028;hp=c0bf42c5a58076b407eb46c50a567a4825f61894;hb=86eff0042bf0b9e6277b281c4f3a680d997790d2;hpb=ab5be9fa2eb5ba9600a82cd18fd3cfcbac69169a diff --git a/src/bin/lttng-crash/lttng-crash.c b/src/bin/lttng-crash/lttng-crash.c index c0bf42c5a..8f94544ba 100644 --- a/src/bin/lttng-crash/lttng-crash.c +++ b/src/bin/lttng-crash/lttng-crash.c @@ -27,10 +27,9 @@ #include #include #include +#include #include -#define DEFAULT_VIEWER "babeltrace" - #define COPY_BUFLEN 4096 #define RB_CRASH_DUMP_ABI_LEN 32 @@ -180,9 +179,9 @@ struct lttng_crash_layout { }; /* Variables */ -static char *progname, - *opt_viewer_path = NULL, - *opt_output_path = NULL; +static const char *progname; +static char *opt_viewer_path = NULL; +static char *opt_output_path = NULL; static char *input_path; @@ -217,7 +216,7 @@ static void usage(void) static void version(FILE *ofp) { fprintf(ofp, "%s (LTTng Crash Trace Viewer) " VERSION " - " VERSION_NAME -"%s%s\n", + "%s%s\n", progname, GIT_VERSION[0] == '\0' ? "" : " - " GIT_VERSION, EXTRA_VERSION_NAME[0] == '\0' ? "" : " - " EXTRA_VERSION_NAME); @@ -295,10 +294,6 @@ static int parse_args(int argc, char **argv) } } - if (!opt_viewer_path) { - opt_viewer_path = DEFAULT_VIEWER; - } - /* No leftovers, or more than one input path, print usage and quit */ if (argc - optind != 1) { ERR("Command-line error: Specify exactly one input path"); @@ -1181,7 +1176,7 @@ end_no_closedir: } static -int view_trace(const char *viewer_path, const char *trace_path) +int view_trace(const char *trace_path, char *viewer_path) { pid_t pid; @@ -1202,13 +1197,12 @@ int view_trace(const char *viewer_path, const char *trace_path) /* Child */ int ret; - ret = execlp(viewer_path, viewer_path, - trace_path, (char *) NULL); + ret = spawn_viewer(trace_path, viewer_path, false); if (ret) { - PERROR("execlp"); exit(EXIT_FAILURE); } - exit(EXIT_SUCCESS); /* Never reached */ + /* Never reached */ + exit(EXIT_SUCCESS); } return 0; } @@ -1260,7 +1254,7 @@ int main(int argc, char *argv[]) } if (!opt_output_path) { /* View trace */ - ret = view_trace(opt_viewer_path, output_path); + ret = view_trace(output_path, opt_viewer_path); if (ret) { has_warning = true; }