aboutsummaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
Diffstat (limited to 'libexec')
-rw-r--r--libexec/telnetd/sys_term.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libexec/telnetd/sys_term.c b/libexec/telnetd/sys_term.c
index 468655061fae..810e65af5e5a 100644
--- a/libexec/telnetd/sys_term.c
+++ b/libexec/telnetd/sys_term.c
@@ -1049,6 +1049,7 @@ extern void utmp_sig_notify P((int));
getptyslave()
{
register int t = -1;
+ char erase;
#if !defined(CRAY) || !defined(NEWINIT)
# ifdef LINEMODE
@@ -1065,12 +1066,13 @@ getptyslave()
* if linemode was turned on
* terminal window size
* terminal speed
+ * erase character
* so that we can re-set them if we need to.
*/
# ifdef LINEMODE
waslm = tty_linemode();
# endif
-
+ erase = termbuf.c_cc[VERASE];
/*
* Make sure that we don't have a controlling tty, and
@@ -1157,6 +1159,8 @@ getptyslave()
tty_rspeed((def_rspeed > 0) ? def_rspeed : 9600);
tty_tspeed((def_tspeed > 0) ? def_tspeed : 9600);
# ifdef LINEMODE
+ if (erase)
+ termbuf.c_cc[VERASE] = erase;
if (waslm)
tty_setlinemode(1);
# endif /* LINEMODE */