|
|
1.1 ! root 1: # include "curses.ext" ! 2: ! 3: /* ! 4: * This routine clears up to the end of line ! 5: * ! 6: * 3/5/81 (Berkeley) @(#)clrtoeol.c 1.2 ! 7: */ ! 8: wclrtoeol(win) ! 9: reg WINDOW *win; { ! 10: ! 11: reg char *sp, *end; ! 12: reg int y, x; ! 13: reg char *maxx; ! 14: reg int minx; ! 15: ! 16: y = win->_cury; ! 17: x = win->_curx; ! 18: end = &win->_y[y][win->_maxx]; ! 19: minx = _NOCHANGE; ! 20: maxx = &win->_y[y][x]; ! 21: for (sp = maxx; sp < end; sp++) ! 22: if (*sp != ' ') { ! 23: maxx = sp; ! 24: if (minx == _NOCHANGE) ! 25: minx = sp - win->_y[y]; ! 26: *sp = ' '; ! 27: } ! 28: /* ! 29: * update firstch and lastch for the line ! 30: */ ! 31: # ifdef DEBUG ! 32: fprintf(outf, "CLRTOEOL: minx = %d, maxx = %d, firstch = %d, lastch = %d\n", minx, maxx - win->_y[y], win->_firstch[y], win->_lastch[y]); ! 33: # endif ! 34: if (minx != _NOCHANGE) { ! 35: if (win->_firstch[y] > minx || win->_firstch[y] == _NOCHANGE) ! 36: win->_firstch[y] = minx; ! 37: if (win->_lastch[y] < maxx - win->_y[y]) ! 38: win->_lastch[y] = maxx - win->_y[y]; ! 39: } ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.