|
|
1.1 root 1: # include "curses.ext"
2:
3: /*
4: * This routine performs an insert-line on the window, leaving
5: * (_cury,_curx) unchanged.
6: *
7: * 4/17/81 (Berkeley) @(#)insertln.c 1.4
8: */
9: winsertln(win)
10: reg WINDOW *win; {
11:
12: reg char *temp;
13: reg int y;
14: reg char *end;
15:
16: temp = win->_y[win->_maxy-1];
17: win->_firstch[win->_cury] = 0;
18: win->_lastch[win->_cury] = win->_maxx - 1;
19: for (y = win->_maxy - 1; y > win->_cury; --y) {
20: win->_y[y] = win->_y[y-1];
21: win->_firstch[y] = 0;
22: win->_lastch[y] = win->_maxx - 1;
23: }
24: for (end = &temp[win->_maxx]; temp < end; )
25: *temp++ = ' ';
26: win->_y[win->_cury] = temp - win->_maxx;
27: if (win->_cury == LINES - 1 && win->_y[LINES-1][COLS-1] != ' ')
28: if (win->_scroll) {
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.