X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fspawn-viewer.cpp;h=150fa4e94bafe948ba3d4f96cb59f1365adddb22;hb=cd9adb8b829564212158943a0d279bb35322ab30;hp=0b605a6442a797ad0822e7d034e016d8abd84e5d;hpb=f149493493fbd8a3efa4748832c03278c96c38ca;p=lttng-tools.git diff --git a/src/common/spawn-viewer.cpp b/src/common/spawn-viewer.cpp index 0b605a644..150fa4e94 100644 --- a/src/common/spawn-viewer.cpp +++ b/src/common/spawn-viewer.cpp @@ -7,26 +7,27 @@ * */ +#include "error.hpp" +#include "macros.hpp" +#include "spawn-viewer.hpp" + +#include + +#include + #include #include #include #include -#include - -#include -#include "error.hpp" -#include "macros.hpp" -#include "spawn-viewer.hpp" - /* * Type is also use as the index in the viewers array. So please, make sure * your enum value is in the right order in the array below. */ enum viewer_type { - VIEWER_BABELTRACE = 0, - VIEWER_BABELTRACE2 = 1, - VIEWER_USER_DEFINED = 2, + VIEWER_BABELTRACE = 0, + VIEWER_BABELTRACE2 = 1, + VIEWER_USER_DEFINED = 2, }; namespace { @@ -45,13 +46,13 @@ const struct viewer { } viewers[] = { { "babeltrace", VIEWER_BABELTRACE }, { "babeltrace2", VIEWER_BABELTRACE2 }, - { NULL, VIEWER_USER_DEFINED }, + { nullptr, VIEWER_USER_DEFINED }, }; } /* namespace */ static const struct viewer *parse_viewer_option(const char *opt_viewer) { - if (opt_viewer == NULL) { + if (opt_viewer == nullptr) { /* Default is babeltrace2 */ return &(viewers[VIEWER_BABELTRACE2]); } @@ -69,7 +70,7 @@ static char **alloc_argv_from_user_opts(char *opts, const char *trace_path) { int i = 0, ignore_space = 0; unsigned int num_opts = 1; - char **argv, *token = opts, *saveptr = NULL; + char **argv, *token = opts, *saveptr = nullptr; /* Count number of arguments. */ do { @@ -87,22 +88,22 @@ static char **alloc_argv_from_user_opts(char *opts, const char *trace_path) /* Add two here for the NULL terminating element and trace path */ argv = calloc(num_opts + 2); - if (argv == NULL) { + if (argv == nullptr) { goto error; } token = strtok_r(opts, " ", &saveptr); - while (token != NULL) { + while (token != nullptr) { argv[i] = strdup(token); - if (argv[i] == NULL) { + if (argv[i] == nullptr) { goto error; } - token = strtok_r(NULL, " ", &saveptr); + token = strtok_r(nullptr, " ", &saveptr); i++; } argv[num_opts] = (char *) trace_path; - argv[num_opts + 1] = NULL; + argv[num_opts + 1] = nullptr; return argv; @@ -114,7 +115,7 @@ error: free(argv); } - return NULL; + return nullptr; } /* @@ -123,8 +124,10 @@ error: * * The returning pointer is ready to be passed to execvp(). */ -static char **alloc_argv_from_local_opts(const char **opts, size_t opts_len, - const char *trace_path, bool opt_live_mode) +static char **alloc_argv_from_local_opts(const char **opts, + size_t opts_len, + const char *trace_path, + bool opt_live_mode) { char **argv; size_t mem_len; @@ -140,7 +143,7 @@ static char **alloc_argv_from_local_opts(const char **opts, size_t opts_len, } argv = calloc(mem_len); - if (argv == NULL) { + if (argv == nullptr) { goto error; } @@ -150,17 +153,16 @@ static char **alloc_argv_from_local_opts(const char **opts, size_t opts_len, argv[opts_len] = (char *) "-i"; argv[opts_len + 1] = (char *) "lttng-live"; argv[opts_len + 2] = (char *) trace_path; - argv[opts_len + 3] = NULL; + argv[opts_len + 3] = nullptr; } else { argv[opts_len] = (char *) trace_path; - argv[opts_len + 1] = NULL; + argv[opts_len + 1] = nullptr; } error: return argv; } - /* * Spawn viewer with the trace directory path. */ @@ -168,13 +170,13 @@ int spawn_viewer(const char *trace_path, char *opt_viewer, bool opt_live_mode) { int ret = 0; struct stat status; - const char *viewer_bin = NULL; + const char *viewer_bin = nullptr; const struct viewer *viewer; - char **argv = NULL; + char **argv = nullptr; /* Check for --viewer option. */ viewer = parse_viewer_option(opt_viewer); - if (viewer == NULL) { + if (viewer == nullptr) { ret = -1; goto error; } @@ -187,9 +189,8 @@ retry_viewer: } else { viewer_bin = viewer->exec_name; } - argv = alloc_argv_from_local_opts(babeltrace2_opts, - ARRAY_SIZE(babeltrace2_opts), trace_path, - opt_live_mode); + argv = alloc_argv_from_local_opts( + babeltrace2_opts, ARRAY_SIZE(babeltrace2_opts), trace_path, opt_live_mode); break; case VIEWER_BABELTRACE: if (stat(babeltrace_bin, &status) == 0) { @@ -197,9 +198,8 @@ retry_viewer: } else { viewer_bin = viewer->exec_name; } - argv = alloc_argv_from_local_opts(babeltrace_opts, - ARRAY_SIZE(babeltrace_opts), trace_path, - opt_live_mode); + argv = alloc_argv_from_local_opts( + babeltrace_opts, ARRAY_SIZE(babeltrace_opts), trace_path, opt_live_mode); break; case VIEWER_USER_DEFINED: argv = alloc_argv_from_user_opts(opt_viewer, trace_path); @@ -211,7 +211,7 @@ retry_viewer: abort(); } - if (argv == NULL || !viewer_bin) { + if (argv == nullptr || !viewer_bin) { ret = -1; goto error; } @@ -224,16 +224,16 @@ retry_viewer: if (viewer->type == VIEWER_BABELTRACE2) { /* Fallback to legacy babeltrace. */ DBG("Default viewer \"%s\" not installed on the system, falling back to \"%s\"", - viewers[VIEWER_BABELTRACE2].exec_name, - viewers[VIEWER_BABELTRACE].exec_name); + viewers[VIEWER_BABELTRACE2].exec_name, + viewers[VIEWER_BABELTRACE].exec_name); viewer = &viewers[VIEWER_BABELTRACE]; free(argv); - argv = NULL; + argv = nullptr; goto retry_viewer; } else { ERR("Default viewer \"%s\" (and fallback \"%s\") not found on the system", - viewers[VIEWER_BABELTRACE2].exec_name, - viewers[VIEWER_BABELTRACE].exec_name); + viewers[VIEWER_BABELTRACE2].exec_name, + viewers[VIEWER_BABELTRACE].exec_name); } } else { PERROR("Failed to launch \"%s\" viewer", viewer_bin);