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