summaryrefslogtreecommitdiff
path: root/sys/dev/vcons/vcons_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/vcons/vcons_io.c')
-rw-r--r--sys/dev/vcons/vcons_io.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/vcons/vcons_io.c b/sys/dev/vcons/vcons_io.c
index 569cce6..a3d6042 100644
--- a/sys/dev/vcons/vcons_io.c
+++ b/sys/dev/vcons/vcons_io.c
@@ -53,15 +53,20 @@ int
vcons_process_output(struct vcons_screen *scr, int c)
{
struct termios termios = scr->termios;
+ struct vcons_cursor *cursor = &scr->cursor;
switch (c) {
case ASCII_LF:
- if (__TEST(termios.c_oflag, OCRNL))
+ if (__TEST(termios.c_oflag, OCRNL)) {
scr->cpy_x = 0;
+ cursor->xpos = 0;
+ }
scr->cpy_y++;
+ cursor->ypos += FONT_HEIGHT;
break;
case ASCII_CR:
scr->cpy_x = 0;
+ cursor->xpos = 0;
break;
case ASCII_HT:
vcons_expand_tab(scr);
@@ -70,5 +75,6 @@ vcons_process_output(struct vcons_screen *scr, int c)
return -1;
}
+ vcons_update_cursor(scr);
return c;
}