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