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