aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog3
-rw-r--r--init.c4
-rw-r--r--init/init.c4
3 files changed, 7 insertions, 4 deletions
diff --git a/Changelog b/Changelog
index 981324308..f9d385622 100644
--- a/Changelog
+++ b/Changelog
@@ -29,6 +29,9 @@
Matt Kraai <kraai@alumni.carnegiemellon.edu>.
* Reorganized signal names in kill.c for better architecture support
-- patch thanks to simon wood <simon@mungewell.uklinux.net>
+ * In 0.43, backspace and delete worked properly, but with 0.45,
+ it just echoed a ^? for backspace, and ^H for control-h. This
+ was due to a broken macro in init.c, that is now fixed.
-Erik Andersen
diff --git a/init.c b/init.c
index c960fe333..0f6a9bc9b 100644
--- a/init.c
+++ b/init.c
@@ -224,7 +224,7 @@ static void message(int device, char *fmt, ...)
}
}
-#define CTRLCHAR(ch) ((ch)&0x1f)
+#define CTRLCHAR(ch) ((ch)-0x40)
/* Set terminal settings to reasonable defaults */
void set_term(int fd)
@@ -242,7 +242,7 @@ void set_term(int fd)
tty.c_cc[VSTART] = CTRLCHAR('Q'); /* Ctrl-Q */
tty.c_cc[VSTOP] = CTRLCHAR('S'); /* Ctrl-S */
tty.c_cc[VSUSP] = CTRLCHAR('Z'); /* Ctrl-Z */
-
+
/* use line dicipline 0 */
tty.c_line = 0;
diff --git a/init/init.c b/init/init.c
index c960fe333..0f6a9bc9b 100644
--- a/init/init.c
+++ b/init/init.c
@@ -224,7 +224,7 @@ static void message(int device, char *fmt, ...)
}
}
-#define CTRLCHAR(ch) ((ch)&0x1f)
+#define CTRLCHAR(ch) ((ch)-0x40)
/* Set terminal settings to reasonable defaults */
void set_term(int fd)
@@ -242,7 +242,7 @@ void set_term(int fd)
tty.c_cc[VSTART] = CTRLCHAR('Q'); /* Ctrl-Q */
tty.c_cc[VSTOP] = CTRLCHAR('S'); /* Ctrl-S */
tty.c_cc[VSUSP] = CTRLCHAR('Z'); /* Ctrl-Z */
-
+
/* use line dicipline 0 */
tty.c_line = 0;