From 0aef021d885e313c1df2b51ac7acf47c0cbce44b Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Sat, 6 Jan 2024 21:01:34 +0800 Subject: [PATCH 1/6] fix: backslash add G only valid in string end --- tools/shell/src/shellEngine.c | 21 ++++++++++++++++++++- tools/shell/src/shellWebsocket.c | 3 ++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index 60b1dfab41..cec4a9683c 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -195,6 +195,25 @@ int32_t shellRunCommand(char *command, bool recordHistory) { return shellRunSingleCommand(cmd); } + +char * strendG(const char* pstr) { + if(pstr == NULL) { + return NULL; + } + + size_t len = strlen(pstr); + if(len < 3) { + return NULL; + } + + char * p = pstr + len - 2 + if (strcmp(p, "\\G") == 0) { + return p; + } + + return NULL; +} + void shellRunSingleCommandImp(char *command) { int64_t st, et; char *sptr = NULL; @@ -213,7 +232,7 @@ void shellRunSingleCommandImp(char *command) { } } - if ((sptr = strstr(command, "\\G")) != NULL) { + if ((sptr = strendG(command)) != NULL) { *sptr = '\0'; printMode = true; // When output to a file, the switch does not work. } diff --git a/tools/shell/src/shellWebsocket.c b/tools/shell/src/shellWebsocket.c index bff2ef7592..8c3a46aa05 100644 --- a/tools/shell/src/shellWebsocket.c +++ b/tools/shell/src/shellWebsocket.c @@ -238,6 +238,7 @@ static int shellDumpWebsocket(WS_RES *wres, char *fname, return numOfRows; } +char * strendG(const char* pstr); void shellRunSingleCommandWebsocketImp(char *command) { int64_t st, et; char *sptr = NULL; @@ -256,7 +257,7 @@ void shellRunSingleCommandWebsocketImp(char *command) { } } - if ((sptr = strstr(command, "\\G")) != NULL) { + if ((sptr = strendG(command)) != NULL) { *sptr = '\0'; printMode = true; // When output to a file, the switch does not work. } From 96947e24d702d9ae28c473a723d5a249f6286127 Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Sat, 6 Jan 2024 23:24:36 +0800 Subject: [PATCH 2/6] fix: modify build error --- tools/shell/src/shellEngine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index cec4a9683c..563481ede7 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -206,7 +206,7 @@ char * strendG(const char* pstr) { return NULL; } - char * p = pstr + len - 2 + char * p = (char *)pstr + len - 2; if (strcmp(p, "\\G") == 0) { return p; } From 772a644de0a4262b6a0b5a9da90b496e2cd8c137 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 6 Jan 2024 23:41:52 +0800 Subject: [PATCH 3/6] fix: end must G; --- tools/shell/src/shellEngine.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index 563481ede7..d3a2dfdf79 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -202,7 +202,7 @@ char * strendG(const char* pstr) { } size_t len = strlen(pstr); - if(len < 3) { + if(len < 4) { return NULL; } @@ -210,6 +210,11 @@ char * strendG(const char* pstr) { if (strcmp(p, "\\G") == 0) { return p; } + + p = (char *)pstr + len - 3; + if (strcmp(p, "\\G;") == 0 ){ + return p; + } return NULL; } From b38a8102655d8211977b2c753e8e1e0df2133338 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 6 Jan 2024 23:43:55 +0800 Subject: [PATCH 4/6] fix: end must G; fix --- tools/shell/src/shellEngine.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index d3a2dfdf79..060e28282e 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -206,12 +206,7 @@ char * strendG(const char* pstr) { return NULL; } - char * p = (char *)pstr + len - 2; - if (strcmp(p, "\\G") == 0) { - return p; - } - - p = (char *)pstr + len - 3; + char * p = (char *)pstr + len - 3; if (strcmp(p, "\\G;") == 0 ){ return p; } From fbfa1c9abe901f6fefc3d9e180461ff53d11110f Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Sun, 7 Jan 2024 15:10:57 +0800 Subject: [PATCH 5/6] fix: use \G have no ; end --- tools/shell/src/shellEngine.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index 563481ede7..02a3084d4f 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -202,7 +202,7 @@ char * strendG(const char* pstr) { } size_t len = strlen(pstr); - if(len < 3) { + if(len < 4) { return NULL; } @@ -211,6 +211,11 @@ char * strendG(const char* pstr) { return p; } + p = (char *)pstr + len - 3; + if (strcmp(p, "\\G;") == 0) { + return p; + } + return NULL; } From d3b13bbb84d41c1c72bea877509da431c5c9a1f3 Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Sun, 7 Jan 2024 15:15:56 +0800 Subject: [PATCH 6/6] fix: git add G no ; --- tools/shell/src/shellEngine.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index 9f077c7817..f6f834f3d7 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -206,8 +206,8 @@ char * strendG(const char* pstr) { return NULL; } - char * p = (char *)pstr + len - 3; - if (strcmp(p, "\\G;") == 0 ){ + char * p = (char *)pstr + len - 2; + if (strcmp(p, "\\G") == 0 ){ return p; }