/* clear last row of the scrolling region */
for (i = 0; i < rt->cols; i++) {
- rt->cells[rt->pd->scrollbottom][i].ch = 0x20;
+ rt->cells[rt->pd->scrollbottom][i].ch = 0x20;
rt->cells[rt->pd->scrollbottom][i].attr = 0x70;
}
}
if (rt->insert) {
int i;
- for(i = rt->cols - 1; i >= rt->ccol+1; i--)
+ for(i = rt->cols - 1; i >= rt->ccol+1; i--) {
rt->cells[rt->crow][i] = rt->cells[rt->crow][i-1];
+ }
}
- rt->cells[rt->crow][rt->ccol].ch = c;
+ rt->cells[rt->crow][rt->ccol].ch = c;
rt->cells[rt->crow][rt->ccol].attr = rt->curattr;
rt->ccol++;
cancel_escape_sequence(rt);
}
-void rote_vt_inject(RoteTerm *rt, const char *data, int len)
+int rote_vt_inject(RoteTerm *rt, const char *data, int len)
{
- int i;
-
- for (i = 0; i < len; i++, data++) {
- if (*data == 0)
- continue; /* completely ignore NUL */
-
- if (*data >= 1 && *data <= 31) {
+ for (; len-- > 0; data++) {
+ if ((unsigned char)*data <= 31) {
handle_control_char(rt, *data);
continue;
}
put_normal_char(rt, *data);
}
}
+
+ return 0;
}
/****************************************************************************/
c <= (r == end_row ? end_col : rt->cols - 1);
c++)
{
- rt->cells[r][c].ch = 0x20;
+ rt->cells[r][c].ch = 0x20;
rt->cells[r][c].attr = rt->curattr;
}
}
}
for (i = erase_start; i <= erase_end; i++) {
- rt->cells[rt->crow][i].ch = 0x20;
+ rt->cells[rt->crow][i].ch = 0x20;
rt->cells[rt->crow][i].attr = rt->curattr;
}
}
for (i = rt->ccol; i < rt->ccol + n; i++) {
- rt->cells[rt->crow][i].ch = 0x20;
+ rt->cells[rt->crow][i].ch = 0x20;
rt->cells[rt->crow][i].attr = rt->curattr;
}
if (i + n < rt->cols) {
rt->cells[rt->crow][i] = rt->cells[rt->crow][i + n];
} else {
- rt->cells[rt->crow][i].ch = 0x20;
+ rt->cells[rt->crow][i].ch = 0x20;
rt->cells[rt->crow][i].attr = rt->curattr;
}
}
for (i = rt->crow; i < rt->crow + n && i <= rt->pd->scrollbottom; i++) {
rt->line_dirty[i] = true;
for (j = 0; j < rt->cols; j++) {
- rt->cells[i][j].ch = 0x20, rt->cells[i][j].attr = rt->curattr;
+ rt->cells[i][j].ch = 0x20;
+ rt->cells[i][j].attr = rt->curattr;
}
}
memcpy(rt->cells[i], rt->cells[i+n], sizeof(RoteCell) * rt->cols);
} else {
for (j = 0; j < rt->cols; j++) {
- rt->cells[i][j].ch = 0x20, rt->cells[i][j].attr = rt->curattr;
+ rt->cells[i][j].ch = 0x20;
+ rt->cells[i][j].attr = rt->curattr;
}
}
}
int i;
for (i = rt->ccol; i < rt->ccol + n && i < rt->cols; i++) {
- rt->cells[rt->crow][i].ch = 0x20;
+ rt->cells[rt->crow][i].ch = 0x20;
rt->cells[rt->crow][i].attr = rt->curattr;
}