1*2248Sarnold # include "curses.ext" 2*2248Sarnold 3*2248Sarnold /* 4*2248Sarnold * This routine erases everything on the window. 5*2248Sarnold * 6*2248Sarnold * 01/26/81 (Berkeley) @(#)erase.c 1.1 7*2248Sarnold */ 8*2248Sarnold werase(win) 9*2248Sarnold reg WINDOW *win; { 10*2248Sarnold 11*2248Sarnold reg int y; 12*2248Sarnold reg char *sp, *end, *start, *maxx; 13*2248Sarnold reg int minx; 14*2248Sarnold 15*2248Sarnold for (y = 0; y < win->_maxy; y++) { 16*2248Sarnold minx = _NOCHANGE; 17*2248Sarnold start = win->_y[y]; 18*2248Sarnold end = &start[win->_maxx]; 19*2248Sarnold for (sp = start; sp < end; sp++) 20*2248Sarnold if (*sp != ' ') { 21*2248Sarnold maxx = sp; 22*2248Sarnold if (minx == _NOCHANGE) 23*2248Sarnold minx = sp - start; 24*2248Sarnold *sp = ' '; 25*2248Sarnold } 26*2248Sarnold if (minx != _NOCHANGE) { 27*2248Sarnold if (win->_firstch[y] > minx 28*2248Sarnold || win->_firstch[y] == _NOCHANGE) 29*2248Sarnold win->_firstch[y] = minx; 30*2248Sarnold if (win->_lastch[y] < maxx - win->_y[y]) 31*2248Sarnold win->_lastch[y] = maxx - win->_y[y]; 32*2248Sarnold } 33*2248Sarnold } 34*2248Sarnold win->_curx = win->_cury = 0; 35*2248Sarnold } 36