Commit | Line | Data |
---|---|---|
e6f2eb0e KA |
1 | # include "curses.ext" |
2 | ||
3 | /* | |
4 | * This routine clears up to the end of line | |
5 | * | |
42e85cbb | 6 | * %G% (Berkeley) @(#)clrtoeol.c 1.2 |
e6f2eb0e KA |
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 | } | |
e6f2eb0e | 40 | } |