iSulad/0094-isula-fix-help-xx-coredump.patch

52 lines
2.0 KiB
Diff
Raw Normal View History

From db774e5fc3f6c12d302ef643feec9403b07da47f Mon Sep 17 00:00:00 2001
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
Date: Thu, 6 May 2021 18:45:41 +0800
Subject: [PATCH 094/104] isula: fix --help=xx coredump
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
---
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