aboutsummaryrefslogtreecommitdiff
path: root/moustest.c
diff options
context:
space:
mode:
Diffstat (limited to 'moustest.c')
-rw-r--r--moustest.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/moustest.c b/moustest.c
index 0d71921..c53dcfd 100644
--- a/moustest.c
+++ b/moustest.c
@@ -280,6 +280,19 @@ void console_leave()
_wrapon(_GWRAPOFF);
}
+void console_backspace()
+{
+ _disable();
+ console_enter();
+ if (ctextpos.col > 0) {
+ _settextposition(ctextpos.row, ctextpos.col - 1);
+ _outtext(" ");
+ _settextposition(ctextpos.row, ctextpos.col - 1);
+ }
+ console_leave();
+ _enable();
+}
+
void console_print(char __far *str)
{
_disable();
@@ -313,6 +326,12 @@ int console_getline(char *buffer, int maxlen)
case 0: // Extended: consume and ignore
c = getch();
break;
+ case 8: // Backspace
+ if (bufpos > 0) {
+ bufpos--;
+ console_backspace();
+ }
+ break;
case 27: // ESC
console_print("\n");
return -1;