summaryrefslogtreecommitdiff
path: root/sys/arch/i386/isa
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1999-10-20 19:15:53 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1999-10-20 19:15:53 +0000
commitc9b28bc5ec64a37a66cba709abc753cb0c995489 (patch)
treec9cb82b8f2a0ab628e8c9913fd5987e737e383c7 /sys/arch/i386/isa
parent65c460045ebb36ca62a8a4570ebbcb05b7797754 (diff)
special character handling; aaron
Diffstat (limited to 'sys/arch/i386/isa')
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_hdr.h3
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_out.c5
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_vtf.c6
3 files changed, 10 insertions, 4 deletions
diff --git a/sys/arch/i386/isa/pcvt/pcvt_hdr.h b/sys/arch/i386/isa/pcvt/pcvt_hdr.h
index 8973098a469..248c5f62db2 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_hdr.h
+++ b/sys/arch/i386/isa/pcvt/pcvt_hdr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_hdr.h,v 1.26 1999/10/16 18:56:35 aaron Exp $ */
+/* $OpenBSD: pcvt_hdr.h,v 1.27 1999/10/20 19:15:51 deraadt Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -618,6 +618,7 @@ EXTERN u_char *more_chars; /* response buffer via kbd */
EXTERN int char_count; /* response char count */
EXTERN u_char color; /* color or mono display */
EXTERN u_char pcdisp; /* vt220 or traditional pc features */
+EXTERN u_char pcdisp_special; /* are we printing special chars */
EXTERN u_short kern_attr; /* kernel messages char attributes */
EXTERN u_short user_attr; /* character attributes */
diff --git a/sys/arch/i386/isa/pcvt/pcvt_out.c b/sys/arch/i386/isa/pcvt/pcvt_out.c
index 3811612ca01..6143ec8444e 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_out.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_out.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_out.c,v 1.13 1999/10/16 18:56:36 aaron Exp $ */
+/* $OpenBSD: pcvt_out.c,v 1.14 1999/10/20 19:15:51 deraadt Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -92,7 +92,7 @@ static __inline void write_char (svsp, attrib, ch)
struct video_state *svsp;
u_short attrib, ch;
{
- if (pcdisp) {
+ if (pcdisp && pcdisp_special == 0) {
*video = attrib | ch;
return;
}
@@ -1023,6 +1023,7 @@ vt_coldinit(void)
do_initialization = 0; /* reset init necessary flag */
pcdisp = 1; /* turn on traditional pc colors/font */
+ pcdisp_special = 0;
/* get the equipment byte from the RTC chip */
diff --git a/sys/arch/i386/isa/pcvt/pcvt_vtf.c b/sys/arch/i386/isa/pcvt/pcvt_vtf.c
index 37e24c64752..690b7b7eb3b 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_vtf.c
+++ b/sys/arch/i386/isa/pcvt/pcvt_vtf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_vtf.c,v 1.7 1999/10/16 18:56:36 aaron Exp $ */
+/* $OpenBSD: pcvt_vtf.c,v 1.8 1999/10/20 19:15:52 deraadt Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -1089,6 +1089,7 @@ vt_designate(struct video_state *svsp)
case 'B': /* USASCII */
#ifdef HAVECSD_ASCII
ctp = csd_ascii;
+ pcdisp_special = 0;
#endif
break;
@@ -1152,6 +1153,7 @@ vt_designate(struct video_state *svsp)
case '0': /* special graphics */
#ifdef HAVECSD_SPECIAL
ctp = csd_special;
+ pcdisp_special = 1;
#endif
break;
@@ -1182,6 +1184,7 @@ vt_designate(struct video_state *svsp)
case '<': /* DEC Supplemental */
#ifdef HAVECSD_SUPPLEMENTAL
ctp = csd_supplemental;
+ pcdisp_special = 1;
#endif
break;
@@ -1194,6 +1197,7 @@ vt_designate(struct video_state *svsp)
case '>': /* DEC Technical */
#ifdef HAVECSD_TECHNICAL
ctp = csd_technical;
+ pcdisp_special = 1;
#endif
break;