commit 320279ad1931fc570906ef39c4c5a2412a6bf8b7
parent 39db12aeca439ddb465b127e0b19a8e451cf101b
Author: Jan Klemkow <j.klemkow@wemelug.de>
Date: Sun, 10 Jul 2016 02:15:11 +0200
add delete handling
Diffstat:
1 file changed, 14 insertions(+), 0 deletions(-)
diff --git a/slackline.c b/slackline.c
@@ -143,6 +143,20 @@ sl_keystroke(struct slackline *sl, int key)
sl->bcur = sl_postobyte(sl, sl->rcur);
sl->ptr = sl->buf + sl->bcur;
break;
+ case 'P': /* delete */
+ if (sl->rcur == sl->rlen)
+ break;
+
+ char *ncur = sl_postoptr(sl, sl->rcur + 1);
+
+ memmove(sl->ptr, ncur, sl->last - ncur);
+
+ sl->rlen--;
+ sl->blen = sl_postobyte(sl, sl->rlen);
+
+ sl->last -= ncur - sl->ptr;
+ *sl->last = '\0';
+ break;
}
sl->esc = ESC_NONE;
return 0;