summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/syscons.c
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1999-12-05 10:04:37 +0000
committeryokota <yokota@FreeBSD.org>1999-12-05 10:04:37 +0000
commitc37843e93488266dfdbab4cf10bf09422b315941 (patch)
tree3664387dffcf844036f6419bac3a56debd852280 /sys/dev/syscons/syscons.c
parent13f3486dd25f1aa7dd7808f2a3309dba80decc47 (diff)
downloadFreeBSD-src-c37843e93488266dfdbab4cf10bf09422b315941.zip
FreeBSD-src-c37843e93488266dfdbab4cf10bf09422b315941.tar.gz
Fix cursor position calculation.
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
Diffstat (limited to 'sys/dev/syscons/syscons.c')
-rw-r--r--sys/dev/syscons/syscons.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 48ac62f..f3ffa83 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -2946,11 +2946,12 @@ outloop:
case 0x09: /* non-destructive tab */
mark_for_update(scp, scp->cursor_pos);
scp->cursor_pos += (8 - scp->xpos % 8u);
- mark_for_update(scp, scp->cursor_pos);
if ((scp->xpos += (8 - scp->xpos % 8u)) >= scp->xsize) {
scp->xpos = 0;
scp->ypos++;
+ scp->cursor_pos = scp->xsize * scp->ypos;
}
+ mark_for_update(scp, scp->cursor_pos);
break;
case 0x0a: /* newline, same pos */
OpenPOWER on IntegriCloud