From db774e5fc3f6c12d302ef643feec9403b07da47f Mon Sep 17 00:00:00 2001 From: zhangxiaoyu Date: Thu, 6 May 2021 18:45:41 +0800 Subject: [PATCH 094/104] isula: fix --help=xx coredump Signed-off-by: zhangxiaoyu --- src/cmd/command_parser.c | 4 ++++ src/cmd/isula/client_arguments.h | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cmd/command_parser.c b/src/cmd/command_parser.c index f900ceac..e925aa32 100644 --- a/src/cmd/command_parser.c +++ b/src/cmd/command_parser.c @@ -360,6 +360,10 @@ static int command_parse_long_arg(command_t *self, const char *arg) if (command_get_option_data(self, opt, &opt_arg)) { return -1; } + if (strcmp(opt->large, "help") == 0 && *(bool *)opt->data) { + command_help(self); + exit(0); + } return 0; } COMMAND_ERROR("Unknown flag found:'--%s'\n", arg); diff --git a/src/cmd/isula/client_arguments.h b/src/cmd/isula/client_arguments.h index a155b863..6bd99cb0 100644 --- a/src/cmd/isula/client_arguments.h +++ b/src/cmd/isula/client_arguments.h @@ -256,6 +256,8 @@ struct client_arguments { char *host_channel; + bool help; + // lcr create char *external_rootfs; char *create_rootfs; @@ -387,7 +389,7 @@ struct client_arguments { &(cmdargs).key_file, \ "Path to TLS key file (default \"/root/.iSulad/key.pem\")", \ NULL }, \ - { CMD_OPT_TYPE_STRING, false, "help", 0, NULL, "Print usage", NULL }, + { CMD_OPT_TYPE_BOOL, false, "help", 0, &(cmdargs).help, "Print usage", NULL }, #define VERSION_OPTIONS(cmdargs) \ { CMD_OPT_TYPE_BOOL, false, "version", 0, NULL, "Print version information and quit", NULL }, -- 2.25.1