fix(console): bug where backspace erases the prompt in dumb mode

This commit is contained in:
Guillaume Souchere 2024-04-17 10:17:52 +02:00
parent a1a05fe9c3
commit ac2491acc5

View File

@ -1121,10 +1121,16 @@ static int linenoiseDumb(char* buf, size_t buflen, const char* prompt) {
} else if (c == BACKSPACE || c == 0x8) {
if (count > 0) {
buf[count - 1] = 0;
count --;
count--;
/* Only erase symbol echoed from stdin. */
fputs("\x08 ", stdout); /* Windows CMD: erase symbol under cursor */
flushWrite();
} else {
/* Consume backspace if the command line is empty to avoid erasing the prompt */
continue;
}
fputs("\x08 ", stdout); /* Windows CMD: erase symbol under cursor */
flushWrite();
} else {
buf[count] = c;
++count;