term_fill(): change ‘character’ parameter from char -> uint8_t

This commit is contained in:
Daniel Eklöf 2021-12-26 16:13:05 +01:00
parent 1b13deff04
commit 23908d9277
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 21 additions and 20 deletions

37
csi.c
View file

@ -1924,26 +1924,27 @@ csi_dispatch(struct terminal *term, uint8_t final)
}
case 'x': { /* DECFRA */
const char c = vt_param_get(term, 0, 0);
if (likely((c >= 32 && c < 126) ||
(c >= 160 && c <= 255)))
const uint8_t c = vt_param_get(term, 0, 0);
if (unlikely(!((c >= 32 && c < 126) || c >= 160)))
break;
int top, left, bottom, right;
if (!params_to_rectangular_area(
term, 1, &top, &left, &bottom, &right))
{
int top, left, bottom, right;
if (!params_to_rectangular_area(
term, 1, &top, &left, &bottom, &right))
{
break;
}
/* Erase the entire region at once (MUCH cheaper than
* doing it row by row, or even character by
* character). */
sixel_overwrite_by_rectangle(
term, top, left, bottom - top + 1, right - left + 1);
for (int r = top; r <= bottom; r++)
term_fill(term, r, left, c, right - left + 1, true);
break;
}
/* Erase the entire region at once (MUCH cheaper than
* doing it row by row, or even character by
* character). */
sixel_overwrite_by_rectangle(
term, top, left, bottom - top + 1, right - left + 1);
for (int r = top; r <= bottom; r++)
term_fill(term, r, left, c, right - left + 1, true);
break;
}

View file

@ -3511,7 +3511,7 @@ print_spacer(struct terminal *term, int col, int remaining)
* - double width characters not supported
*/
void
term_fill(struct terminal *term, int r, int c, char data, size_t count,
term_fill(struct terminal *term, int r, int c, uint8_t data, size_t count,
bool use_sgr_attrs)
{
struct row *row = grid_row(term->grid, r);

View file

@ -798,7 +798,7 @@ void term_cursor_down(struct terminal *term, int count);
void term_cursor_blink_update(struct terminal *term);
void term_print(struct terminal *term, char32_t wc, int width);
void term_fill(struct terminal *term, int row, int col, char c, size_t count,
void term_fill(struct terminal *term, int row, int col, uint8_t c, size_t count,
bool use_sgr_attrs);
void term_scroll(struct terminal *term, int rows);