X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fdestroy.cpp;h=9b5978bddc4962719260a6f5c44bb5bf7b07d2f8;hb=5b915816f16e7cb3134dd7279abad79b31c2486c;hp=78bbbaaad37e25a6e94648236860fe11a60252db;hpb=48a4000561343808724f7cb5fa8c131877489ccd;p=lttng-tools.git diff --git a/src/bin/lttng/commands/destroy.cpp b/src/bin/lttng/commands/destroy.cpp index 78bbbaaad..9b5978bdd 100644 --- a/src/bin/lttng/commands/destroy.cpp +++ b/src/bin/lttng/commands/destroy.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 David Goulet + * Copyright (C) 2011 EfficiOS Inc. * * SPDX-License-Identifier: GPL-2.0-only * @@ -16,13 +16,12 @@ #include #include -#include "../command.h" +#include "../command.hpp" -#include -#include -#include +#include +#include +#include -static char *opt_session_name; static int opt_destroy_all; static int opt_no_wait; @@ -191,8 +190,8 @@ static int destroy_session(struct lttng_session *session) } break; } - /* fall-through. */ } + /* fall-through. */ default: ERR("%sFailed to get the location of the rotation performed during the session's destruction", newline_needed ? "\n" : ""); @@ -270,6 +269,7 @@ int cmd_destroy(int argc, const char **argv) int ret = CMD_SUCCESS , i, command_ret = CMD_SUCCESS, success = 1; static poptContext pc; char *session_name = NULL; + const char *arg_session_name = NULL; const char *leftover = NULL; struct lttng_session *sessions = NULL; @@ -342,18 +342,22 @@ int cmd_destroy(int argc, const char **argv) success = 0; } } else { - opt_session_name = (char *) poptGetArg(pc); + arg_session_name = poptGetArg(pc); - if (!opt_session_name) { + if (!arg_session_name) { /* No session name specified, lookup default */ session_name = get_session_name(); + } else { + session_name = strdup(arg_session_name); if (session_name == NULL) { - command_ret = CMD_ERROR; - success = 0; - goto mi_closing; + PERROR("Failed to copy session name"); } - } else { - session_name = opt_session_name; + } + + if (session_name == NULL) { + command_ret = CMD_ERROR; + success = 0; + goto mi_closing; } /* Find the corresponding lttng_session struct */ @@ -419,10 +423,7 @@ end: ret = ret ? ret : -LTTNG_ERR_MI_IO_FAIL; } - if (opt_session_name == NULL) { - free(session_name); - } - + free(session_name); free(sessions); /* Overwrite ret if an error occurred during destroy_session/all */