/*
- * Copyright (C) 2015 - Philippe Proulx <pproulx@efficios.com>
+ * Copyright (C) 2015 Philippe Proulx <pproulx@efficios.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2 only,
- * as published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#define _LGPL_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <assert.h>
#include "../command.h"
#include <common/utils.h>
-static const char *help_msg =
#ifdef LTTNG_EMBED_HELP
+static const char *help_msg =
#include <lttng-help.1.h>
-#else
-NULL
-#endif
;
+#endif
static const char *lttng_help_msg =
#ifdef LTTNG_EMBED_HELP
static poptContext pc;
const struct cmd_struct *cmd;
int found = 0;
+ const char *cmd_argv[2];
pc = poptGetContext(NULL, argc, argv, long_options, 0);
poptReadDefaultConfig(pc, 0);
goto end;
}
+ /* Help about help? */
+ if (strcmp(cmd_name, "help") == 0) {
+ SHOW_HELP();
+ goto end;
+ }
+
/* Make sure command name exists */
cmd = &commands[0];
goto end;
}
- /* Show command's man page */
- ret = show_cmd_man_page(cmd_name);
-
- if (ret) {
- ERR("Cannot view man page lttng-%s(1)", cmd_name);
- perror("exec");
- ret = CMD_ERROR;
- }
+ /* Show command's help */
+ cmd_argv[0] = cmd->name;
+ cmd_argv[1] = "--help";
+ assert(cmd->func);
+ ret = cmd->func(2, cmd_argv);
end:
poptFreeContext(pc);