Revert "Fix: sessiond: erroneous user check logic in session_access_ok"
[lttng-tools.git] / src / bin / lttng-crash / lttng-crash.c
index c0bf42c5a58076b407eb46c50a567a4825f61894..8f94544ba54794f1dbbed0fecca70cc5e44b2028 100644 (file)
 #include <version.h>
 #include <lttng/lttng.h>
 #include <common/common.h>
+#include <common/spawn-viewer.h>
 #include <common/utils.h>
 
-#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;
                }
This page took 0.02394 seconds and 4 git commands to generate.