|
|
1.1 ! root 1: # include "curses.ext" ! 2: /* @(#) insch.c: 1.1 10/15/83 (1.4 11/18/82) */ ! 3: ! 4: /* ! 5: * This routine performs an insert-char on the line, leaving ! 6: * (_cury,_curx) unchanged. ! 7: * ! 8: * @(#)insch.c 1.2 (Berkeley) 4/17/81 ! 9: */ ! 10: winsch(win, c) ! 11: reg WINDOW *win; ! 12: chtype c; { ! 13: ! 14: register chtype *temp1, *temp2; ! 15: register chtype *end; ! 16: ! 17: end = &win->_y[win->_cury][win->_curx]; ! 18: temp1 = &win->_y[win->_cury][win->_maxx - 1]; ! 19: temp2 = temp1 - 1; ! 20: while (temp1 > end) ! 21: *temp1-- = *temp2--; ! 22: *temp1 = c; ! 23: win->_lastch[win->_cury] = win->_maxx - 1; ! 24: if (win->_firstch[win->_cury] == _NOCHANGE || ! 25: win->_firstch[win->_cury] > win->_curx) ! 26: win->_firstch[win->_cury] = win->_curx; ! 27: if (win->_cury == LINES - 1 && win->_y[LINES-1][COLS-1] != ' ') ! 28: if (win->_scroll && !(win->_flags&_ISPAD)) { ! 29: wrefresh(win); ! 30: scroll(win); ! 31: win->_cury--; ! 32: } ! 33: else ! 34: return ERR; ! 35: return OK; ! 36: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.