# include "curses.ext" /* * This routine performs an insert-line on the window, leaving * (_cury,_curx) unchanged. */ winsertln(win) reg WINDOW *win; { reg char *temp; reg int y; reg char *end; int sbw; sbw = win->_flags & _SUBWIN; temp = win->_y[win->_maxy-1]; win->_firstch[win->_cury] = 0; win->_lastch[win->_cury] = win->_maxx - 1; for (y = win->_maxy - 1; y > win->_cury; --y) { if(sbw) strncpy(win->_y[y],win->_y[y-1],win->_maxx); else win->_y[y] = win->_y[y-1]; win->_firstch[y] = 0; win->_lastch[y] = win->_maxx - 1; } if(sbw) temp = win->_y[win->_cury]; else win->_y[win->_cury] = temp; for (end = &temp[win->_maxx]; temp < end; ) *temp++ = ' '; }