diff --git a/main/utilities/letter_shell/src/shell.c b/main/utilities/letter_shell/src/shell.c index cc6ee33..aa60883 100644 --- a/main/utilities/letter_shell/src/shell.c +++ b/main/utilities/letter_shell/src/shell.c @@ -1997,11 +1997,25 @@ RETVAL, &shellRetVal, return value of last command); static void _prompt(int argc, char **argv) { + char data[64] = {0}; for (short i = 0; i < SHELL_MAX_NUMBER; i++) { if (shellList[i] != NULL) { - shellWriteString(shellList[i], shellText[SHELL_TEXT_INFO]); + int idx = 0; + int len = strlen(shellText[SHELL_TEXT_INFO]); + while (idx < len) { + if (len - idx < 64) { + memcpy(data, &shellText[SHELL_TEXT_INFO][idx], len - idx); + data[len - idx + 1] = '\0'; + idx += len - idx; + idx++; + }else { + memcpy(data, &shellText[SHELL_TEXT_INFO][idx], 64); + idx += 64; + } + shellWriteString(shellList[i], data); + } return; } }