- while (temp1 > end)
- *temp1-- = *temp2--;
- *temp1 = c;
- touchline(win, win->_cury, win->_curx, win->_maxx - 1);
- if (win->_cury == LINES - 1 && win->_y[LINES-1][COLS-1] != ' ')
- if (win->_scroll) {
+ while (temp1 > end) {
+ (void)memcpy(temp1, temp2, sizeof(__LDATA));
+ temp1--, temp2--;
+ }
+ temp1->ch = ch;
+ temp1->attr &= ~__STANDOUT;
+ __touchline(win, win->cury, win->curx, win->maxx - 1, 0);
+ if (win->cury == LINES - 1 &&
+ (win->lines[LINES - 1]->line[COLS - 1].ch != ' ' ||
+ win->lines[LINES -1]->line[COLS - 1].attr != 0))
+ if (win->flags & __SCROLLOK) {