aboutsummaryrefslogtreecommitdiff
path: root/sys/teken
diff options
context:
space:
mode:
Diffstat (limited to 'sys/teken')
-rw-r--r--sys/teken/teken_subr.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/teken/teken_subr.h b/sys/teken/teken_subr.h
index c9dfa4d9bb92..8db1c024b310 100644
--- a/sys/teken/teken_subr.h
+++ b/sys/teken/teken_subr.h
@@ -372,7 +372,7 @@ teken_subr_cursor_up(teken_t *t, unsigned int nrows)
}
static void
-teken_subr_set_cursor_style(teken_t *t, unsigned int style)
+teken_subr_set_cursor_style(teken_t *t __unused, unsigned int style __unused)
{
/* TODO */
@@ -1000,7 +1000,7 @@ teken_subr_do_reset(teken_t *t)
t->t_scrollreg.ts_begin = 0;
t->t_scrollreg.ts_end = t->t_winsize.tp_row;
t->t_originreg = t->t_scrollreg;
- t->t_stateflags &= TS_8BIT|TS_CONS25;
+ t->t_stateflags &= TS_8BIT | TS_CONS25 | TS_CONS25KEYS;
t->t_stateflags |= TS_AUTOWRAP;
t->t_scs[0] = teken_scs_us_ascii;
@@ -1337,8 +1337,11 @@ teken_subr_vertical_position_absolute(teken_t *t, unsigned int row)
static void
teken_subr_repeat_last_graphic_char(teken_t *t, unsigned int rpts)
{
+ unsigned int max_repetitions;
+ max_repetitions = t->t_winsize.tp_row * t->t_winsize.tp_col;
+ if (rpts > max_repetitions)
+ rpts = max_repetitions;
for (; t->t_last != 0 && rpts > 0; rpts--)
teken_subr_regular_character(t, t->t_last);
}
-