summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2018-09-22 17:40:57 +0000
committerkettenis <kettenis@openbsd.org>2018-09-22 17:40:57 +0000
commit03c8b0ac2f7aef649efec39dca24f98fab5770e8 (patch)
tree60a2e4d31608aada1d78dc5ebedf1d71ced81f8c
parentRemove unused Table_size define and digits() function. (diff)
downloadwireguard-openbsd-03c8b0ac2f7aef649efec39dca24f98fab5770e8.tar.xz
wireguard-openbsd-03c8b0ac2f7aef649efec39dca24f98fab5770e8.zip
Only clear the character backing store when the RI_CLEAR flag is set.
ok deraadt@
-rw-r--r--sys/dev/rasops/rasops.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/rasops/rasops.c b/sys/dev/rasops/rasops.c
index ec2c7bac4ca..4c1e8d28031 100644
--- a/sys/dev/rasops/rasops.c
+++ b/sys/dev/rasops/rasops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rasops.c,v 1.56 2018/08/27 09:30:07 kettenis Exp $ */
+/* $OpenBSD: rasops.c,v 1.57 2018/09/22 17:40:57 kettenis Exp $ */
/* $NetBSD: rasops.c,v 1.35 2001/02/02 06:01:01 marcus Exp $ */
/*-
@@ -309,10 +309,12 @@ rasops_init(struct rasops_info *ri, int wantrows, int wantcols)
ri->ri_ops.eraserows = rasops_wronly_eraserows;
ri->ri_do_cursor = rasops_wronly_do_cursor;
- ri->ri_alloc_attr(ri, 0, 0, 0, &attr);
- for (i = 0; i < ri->ri_rows * ri->ri_cols; i++) {
- ri->ri_bs[i].uc = ' ';
- ri->ri_bs[i].attr = attr;
+ if (ri->ri_flg & RI_CLEAR) {
+ ri->ri_alloc_attr(ri, 0, 0, 0, &attr);
+ for (i = 0; i < ri->ri_rows * ri->ri_cols; i++) {
+ ri->ri_bs[i].uc = ' ';
+ ri->ri_bs[i].attr = attr;
+ }
}
}