From 2b71c2755accdbf86ad5ff67235a27e6ca63e8ea Mon Sep 17 00:00:00 2001 From: busymage <45327828+busymage@users.noreply.github.com> Date: Wed, 7 Apr 2021 19:08:29 +0800 Subject: [PATCH] Fix boostrap only support 1 param. (#1377) --- skynet-src/skynet_start.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/skynet-src/skynet_start.c b/skynet-src/skynet_start.c index b2991034..01eea2cc 100644 --- a/skynet-src/skynet_start.c +++ b/skynet-src/skynet_start.c @@ -235,7 +235,17 @@ bootstrap(struct skynet_context * logger, const char * cmdline) { int sz = strlen(cmdline); char name[sz+1]; char args[sz+1]; - sscanf(cmdline, "%s %s", name, args); + int arg_pos; + sscanf(cmdline, "%s", name); + arg_pos = strlen(name); + if (arg_pos < sz) { + while(cmdline[arg_pos] == ' ') { + arg_pos++; + } + strncpy(args, cmdline + arg_pos, sz); + } else { + args[0] = '\0'; + } struct skynet_context *ctx = skynet_context_new(name, args); if (ctx == NULL) { skynet_error(NULL, "Bootstrap error : %s\n", cmdline);