summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/readline.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/readline.c b/lib/readline.c
index ce63bc29ce..2cf90eca8d 100644
--- a/lib/readline.c
+++ b/lib/readline.c
@@ -255,6 +255,18 @@ int readline(const char *prompt, char *buf, int len)
eol_num--;
}
break;
+ case KEY_DEL:
+ if (num < eol_num) {
+ wlen = eol_num - num;
+ memmove(&buf[num], &buf[num+1], wlen);
+ putnstr(buf + num, wlen);
+ getcmd_putch(' ');
+ do {
+ getcmd_putch(CTL_BACKSPACE);
+ } while (--wlen);
+ eol_num--;
+ }
+ break;
case KEY_UP:
case KEY_DOWN:
{