From 5ba02fffe2521809056a0ed611553823e2c7ad11 Mon Sep 17 00:00:00 2001 From: Olivier Dion Date: Wed, 22 Feb 2023 16:45:27 -0500 Subject: [PATCH] Fix: lttng remove-trigger -h fails MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The error was that `argv' was incremented before passing it to `argpar_iter_create'. However, the macro `SHOW_HELP' implicitly deferences `argv[0]' to determine the command name. Fix this by introducing a new variable `args' leaving `argv' untouched. Change-Id: Id50fa2424550280a1e5e207429d643f5e8e00396 Signed-off-by: Olivier Dion Signed-off-by: Jérémie Galarneau --- src/bin/lttng/commands/remove_trigger.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/lttng/commands/remove_trigger.cpp b/src/bin/lttng/commands/remove_trigger.cpp index 0a10e1612..08d4873f0 100644 --- a/src/bin/lttng/commands/remove_trigger.cpp +++ b/src/bin/lttng/commands/remove_trigger.cpp @@ -73,6 +73,7 @@ int cmd_remove_trigger(int argc, const char **argv) char *owner_uid = nullptr; long long uid; struct mi_writer *mi_writer = nullptr; + const char **args; if (lttng_opt_mi) { mi_writer = mi_lttng_writer_create(fileno(stdout), lttng_opt_mi); @@ -97,10 +98,9 @@ int cmd_remove_trigger(int argc, const char **argv) } } - argc--; - argv++; + args = argv + 1; - argpar_iter = argpar_iter_create(argc, argv, remove_trigger_options); + argpar_iter = argpar_iter_create(argc - 1, args, remove_trigger_options); if (!argpar_iter) { ERR("Failed to allocate an argpar iter."); goto error; @@ -110,7 +110,7 @@ int cmd_remove_trigger(int argc, const char **argv) enum parse_next_item_status status; status = - parse_next_item(argpar_iter, &argpar_item, 1, argv, true, nullptr, nullptr); + parse_next_item(argpar_iter, &argpar_item, 1, args, true, nullptr, nullptr); if (status == PARSE_NEXT_ITEM_STATUS_ERROR || status == PARSE_NEXT_ITEM_STATUS_ERROR_MEMORY) { goto error; -- 2.34.1