summaryrefslogtreecommitdiff
path: root/sys/dev/syscons
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>2000-05-29 18:38:33 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>2000-05-29 18:38:33 +0000
commita332545726cfd5da0dc9aab78e29d8c4144a41b8 (patch)
treea1e625eb1fd5341cb5c308f790292c9fa52447b0 /sys/dev/syscons
parent7956004626bafcb1a20243ff186fbf801db8bf9b (diff)
Notes
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r--sys/dev/syscons/sctermvar.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/syscons/sctermvar.h b/sys/dev/syscons/sctermvar.h
index 2ef75f069157..e93699205bac 100644
--- a/sys/dev/syscons/sctermvar.h
+++ b/sys/dev/syscons/sctermvar.h
@@ -269,9 +269,14 @@ sc_term_tab(scr_stat *scp, int n)
if (n < 1)
n = 1;
i = (scp->xpos & ~7) + 8*n;
- if (i >= scp->xsize)
- sc_move_cursor(scp, 0, scp->ypos + 1);
- else
+ if (i >= scp->xsize) {
+ if (scp->ypos >= scp->ysize - 1) {
+ scp->xpos = 0;
+ scp->ypos++;
+ scp->cursor_pos = scp->ypos*scp->xsize;
+ } else
+ sc_move_cursor(scp, 0, scp->ypos + 1);
+ } else
sc_move_cursor(scp, i, scp->ypos);
}