summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/scterm-sc.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2000-06-05 22:16:11 +0000
committerache <ache@FreeBSD.org>2000-06-05 22:16:11 +0000
commit68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e (patch)
tree8f0315577f378af6aa120d897665d3b3f6fc5a92 /sys/dev/syscons/scterm-sc.c
parentaf7185e20dff77fb7962e8a66f6b2e1d9cf11a95 (diff)
downloadFreeBSD-src-68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e.zip
FreeBSD-src-68919f78ec9bd9345b09c7ea13dfd2c8fadf0b8e.tar.gz
Implement ANSI E[39m and E[49m to set fg and bg to initial (not to default!)
values. E[x is bad because set them to default values and should be used only in reset sequence.
Diffstat (limited to 'sys/dev/syscons/scterm-sc.c')
-rw-r--r--sys/dev/syscons/scterm-sc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/syscons/scterm-sc.c b/sys/dev/syscons/scterm-sc.c
index 10d70ad..ead9ae1 100644
--- a/sys/dev/syscons/scterm-sc.c
+++ b/sys/dev/syscons/scterm-sc.c
@@ -406,6 +406,11 @@ scterm_scan_esc(scr_stat *scp, term_stat *tcp, u_char c)
tcp->cur_color.fg = ansi_col[n - 30];
tcp->cur_attr = mask2attr(tcp);
break;
+ case 39:
+ tcp->attr_mask &= ~FG_CHANGED;
+ tcp->cur_color.fg = tcp->std_color.fg;
+ tcp->cur_attr = mask2attr(tcp);
+ break;
case 40: case 41: /* set bg color */
case 42: case 43: case 44:
case 45: case 46: case 47:
@@ -413,6 +418,11 @@ scterm_scan_esc(scr_stat *scp, term_stat *tcp, u_char c)
tcp->cur_color.bg = ansi_col[n - 40];
tcp->cur_attr = mask2attr(tcp);
break;
+ case 49:
+ tcp->attr_mask &= ~BG_CHANGED;
+ tcp->cur_color.bg = tcp->std_color.bg;
+ tcp->cur_attr = mask2attr(tcp);
+ break;
}
}
break;
OpenPOWER on IntegriCloud