diff --git a/csi.c b/csi.c index 9bf639fd..a737022f 100644 --- a/csi.c +++ b/csi.c @@ -630,7 +630,7 @@ csi_dispatch(struct terminal *term, uint8_t final) tll_free(term->alt.damage); tll_free(term->alt.scroll_damage); - grid_memset(term->grid, 0, 0, term->rows * term->cols); + grid_memclear(term->grid, 0, term->rows * term->cols); term_damage_erase(term, 0, term->rows * term->cols); } break; diff --git a/grid.c b/grid.c index 178883e4..a09e3d21 100644 --- a/grid.c +++ b/grid.c @@ -27,7 +27,7 @@ grid_get_range(struct grid *grid, int start, int *length) } void -grid_memset(struct grid *grid, int start, int c, int length) +grid_memclear(struct grid *grid, int start, int length) { int left = length; while (left > 0) { @@ -37,7 +37,7 @@ grid_memset(struct grid *grid, int start, int c, int length) assert(count > 0); assert(count <= left); - memset(cells, c, count * sizeof(cells[0])); + memset(cells, 0, count * sizeof(cells[0])); left -= count; start += count; diff --git a/grid.h b/grid.h index 59d9e58b..11f38506 100644 --- a/grid.h +++ b/grid.h @@ -4,5 +4,5 @@ #include "terminal.h" struct cell *grid_get_range(struct grid *grid, int start, int *length); -void grid_memset(struct grid *grid, int start, int c, int length); +void grid_memclear(struct grid *grid, int start, int length); void grid_memmove(struct grid *grid, int dst, int src, int length); diff --git a/terminal.c b/terminal.c index 52eed5e8..7c15ce87 100644 --- a/terminal.c +++ b/terminal.c @@ -183,7 +183,7 @@ term_erase(struct terminal *term, int start, int end) term_damage_update(term, start, end - start); } else { - grid_memset(term->grid, start, 0, end - start); + grid_memclear(term->grid, start, end - start); term_damage_erase(term, start, end - start); } } @@ -293,10 +293,9 @@ term_scroll_partial(struct terminal *term, struct scroll_region region, int rows term->grid->offset += rows * term->cols; /* Clear scrolled-in lines */ - grid_memset( + grid_memclear( term->grid, max(0, region.end - rows) * term->cols, - 0, min(rows, term->rows) * term->cols); term_damage_scroll(term, DAMAGE_SCROLL, region, rows); @@ -359,7 +358,7 @@ term_scroll_reverse_partial(struct terminal *term, term->grid->offset -= rows * term->cols; - grid_memset(term->grid, region.start * term->cols, 0, rows * term->cols); + grid_memclear(term->grid, region.start * term->cols, rows * term->cols); term_damage_scroll(term, DAMAGE_SCROLL_REVERSE, region, rows);