term: print_insert: early return

This commit is contained in:
Daniel Eklöf 2020-06-09 17:31:28 +02:00
parent 97221dd09b
commit 9df7e8fa07
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -2353,19 +2353,20 @@ print_insert(struct terminal *term, int width)
{
assert(width > 0);
if (unlikely(term->insert_mode)) {
struct row *row = term->grid->cur_row;
const size_t move_count = max(0, term->cols - term->grid->cursor.point.col - width);
if (likely(!term->insert_mode))
return;
memmove(
&row->cells[term->grid->cursor.point.col + width],
&row->cells[term->grid->cursor.point.col],
move_count * sizeof(struct cell));
struct row *row = term->grid->cur_row;
const size_t move_count = max(0, term->cols - term->grid->cursor.point.col - width);
/* Mark moved cells as dirty */
for (size_t i = term->grid->cursor.point.col + width; i < term->cols; i++)
row->cells[i].attrs.clean = 0;
}
memmove(
&row->cells[term->grid->cursor.point.col + width],
&row->cells[term->grid->cursor.point.col],
move_count * sizeof(struct cell));
/* Mark moved cells as dirty */
for (size_t i = term->grid->cursor.point.col + width; i < term->cols; i++)
row->cells[i].attrs.clean = 0;
}
void