diff options
Diffstat (limited to 'sys/dev/vcons/vcons_io.c')
-rw-r--r-- | sys/dev/vcons/vcons_io.c | 8 |
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; } |