mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
fix(console): bug where backspace erases the prompt in dumb mode
This commit is contained in:
@ -1121,10 +1121,16 @@ static int linenoiseDumb(char* buf, size_t buflen, const char* prompt) {
|
|||||||
} else if (c == BACKSPACE || c == 0x8) {
|
} else if (c == BACKSPACE || c == 0x8) {
|
||||||
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 */
|
||||||
|
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 {
|
} else {
|
||||||
buf[count] = c;
|
buf[count] = c;
|
||||||
++count;
|
++count;
|
||||||
|
Reference in New Issue
Block a user