aboutsummaryrefslogtreecommitdiff
path: root/sys/pc98/cbus
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-03-10 11:28:54 +0000
committerEd Schouten <ed@FreeBSD.org>2009-03-10 11:28:54 +0000
commit630b9bf23fa7e7e4e8248031eb637900e91275d0 (patch)
tree81b513a4d1a972e44f59deb62bedb21c604e26ae /sys/pc98/cbus
parent9541ada9a0c4eb92928b27bc7153bf582c433948 (diff)
downloadsrc-630b9bf23fa7e7e4e8248031eb637900e91275d0.tar.gz
src-630b9bf23fa7e7e4e8248031eb637900e91275d0.zip
Notes
Diffstat (limited to 'sys/pc98/cbus')
-rw-r--r--sys/pc98/cbus/scterm-sck.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/pc98/cbus/scterm-sck.c b/sys/pc98/cbus/scterm-sck.c
index 2577f6652ed8..ce2324ff157a 100644
--- a/sys/pc98/cbus/scterm-sck.c
+++ b/sys/pc98/cbus/scterm-sck.c
@@ -907,18 +907,24 @@ scterm_scan_esc(scr_stat *scp, term_stat *tcp, u_char c)
}
static void
-scterm_puts(scr_stat *scp, u_char *buf, int len)
+scterm_puts(scr_stat *scp, u_char *buf, int len, int kernel)
{
term_stat *tcp;
u_char *ptr;
#ifdef KANJI
u_short kanji_code;
#endif
+ color_t backup;
tcp = scp->ts;
ptr = buf;
outloop:
scp->sc->write_in_progress++;
+ backup = tcp->cur_color;
+ if (kernel) {
+ tcp->cur_color.fg = SC_KERNEL_CONS_ATTR & 0x0f;
+ tcp->cur_color.bg = (SC_KERNEL_CONS_ATTR >> 4) & 0x0f;
+ }
if (tcp->esc) {
scterm_scan_esc(scp, tcp, *ptr++);
@@ -1101,6 +1107,8 @@ ascii_end:
sc_term_gen_scroll(scp, scp->sc->scr_map[0x20], tcp->cur_attr);
+ if (kernel)
+ tcp->cur_color = backup;
scp->sc->write_in_progress--;
if (len)
goto outloop;