From fa8d9a62f216118257e1553b00294ac3a3550498 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Thu, 9 Mar 2023 19:04:25 +0800 Subject: [PATCH] fix: cus prompt length lead hang (#20371) --- tools/shell/inc/shellInt.h | 2 +- tools/shell/src/shellArguments.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/shell/inc/shellInt.h b/tools/shell/inc/shellInt.h index 113853bd83..08d4b167ea 100644 --- a/tools/shell/inc/shellInt.h +++ b/tools/shell/inc/shellInt.h @@ -83,7 +83,7 @@ typedef struct { const char *clientVersion; char cusName[32]; char promptHeader[32]; - const char* promptContinue; + char promptContinue[32]; const char* osname; int32_t promptSize; char programVersion[256]; diff --git a/tools/shell/src/shellArguments.c b/tools/shell/src/shellArguments.c index 19275cce82..636138fac7 100644 --- a/tools/shell/src/shellArguments.c +++ b/tools/shell/src/shellArguments.c @@ -411,7 +411,9 @@ int32_t shellParseArgs(int32_t argc, char *argv[]) { "Copyright (c) 2022 by %s, all rights reserved.\r\n\r\n"; strcpy(shell.info.cusName, cusName); sprintf(shell.info.promptHeader, "%s> ", cusPrompt); - shell.info.promptContinue = TAOS_CONSOLE_PROMPT_CONTINUE; + char promptContinueFormat[32] = {0}; + sprintf(promptContinueFormat, "%%%zus> ", strlen(cusPrompt)); + sprintf(shell.info.promptContinue, promptContinueFormat, " "); shell.info.promptSize = strlen(shell.info.promptHeader); snprintf(shell.info.programVersion, sizeof(shell.info.programVersion), "version: %s compatible_version: %s\ngitinfo: %s\nbuildInfo: %s", version, compatible_version, gitinfo, -- GitLab