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

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