summaryrefslogtreecommitdiffstats
path: root/sys/pc98/cbus/scterm-sck.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pc98/cbus/scterm-sck.c')
-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 2577f66..ce2324f 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;
OpenPOWER on IntegriCloud