summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/pcvt
diff options
context:
space:
mode:
authorjkoshy <jkoshy@FreeBSD.org>1998-08-19 03:39:40 +0000
committerjkoshy <jkoshy@FreeBSD.org>1998-08-19 03:39:40 +0000
commiteba01972cda4c17a475b1e983c8dc139323e0618 (patch)
tree4c6984234106d966ddbe59dd5c3265aac5ec1d14 /sys/i386/isa/pcvt
parent42dee2ba902371e410b68a47e5efc4fcdab6a699 (diff)
downloadFreeBSD-src-eba01972cda4c17a475b1e983c8dc139323e0618.zip
FreeBSD-src-eba01972cda4c17a475b1e983c8dc139323e0618.tar.gz
Correct handling of ASCII DEL (0x7F).
I don't have access to a real VT220 to verify this against. However, I'm committing the patch in `good faith' because (a) getting hold of a real VT220 is going to be increasingly difficult the longer the PR sits around, (b) some one was troubled enough to in a PR and (c) the fix is minor and has no other implications. PR: 7559 Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
Diffstat (limited to 'sys/i386/isa/pcvt')
-rw-r--r--sys/i386/isa/pcvt/pcvt_out.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/i386/isa/pcvt/pcvt_out.c b/sys/i386/isa/pcvt/pcvt_out.c
index 85de05f..09cc75c 100644
--- a/sys/i386/isa/pcvt/pcvt_out.c
+++ b/sys/i386/isa/pcvt/pcvt_out.c
@@ -178,10 +178,10 @@ sput (u_char *s, U_char kernel, int len, int page)
if(svsp->sevenbit)
ch &= 0x7f;
- if((ch <= 0x1f) && (svsp->transparent == 0))
+ if(((ch <= 0x1f) || (ch == 0x7f)) && (svsp->transparent == 0))
{
- /* always process control-chars in the range 0x00..0x1f !!! */
+ /* always process control-chars in the range 0x00..0x1f, 0x7f !!! */
if(svsp->dis_fnc)
{
@@ -323,6 +323,7 @@ sput (u_char *s, U_char kernel, int len, int page)
case 0x1d: /* GS */
case 0x1e: /* RS */
case 0x1f: /* US */
+ case 0x7f: /* DEL */
break;
}
}
@@ -330,7 +331,8 @@ sput (u_char *s, U_char kernel, int len, int page)
else
{
- /* char range 0x20...0xff processing depends on current state */
+ /* char range 0x20...0x73, 0x80...0xff processing */
+ /* depends on current state */
switch(svsp->state)
{
@@ -1884,7 +1886,7 @@ clr_parms(struct video_state *svsp)
* partial HP 2392 ANSI mode Emulator
* ==================================
*
- * this part tooks over the emulation of some escape sequences
+ * this part takes over the emulation of some escape sequences
* needed to handle the function key labels
*
* They are modeled after the corresponding escape sequences
OpenPOWER on IntegriCloud