Commit | Line | Data |
---|---|---|
cc1a8c38 KA |
1 | # include "curses.ext" |
2 | ||
3 | /* | |
4 | * This routine erases everything on the window. | |
5 | * | |
f06658c3 | 6 | * @(#)erase.c 1.3 (Berkeley) %G% |
cc1a8c38 KA |
7 | */ |
8 | werase(win) | |
9 | reg WINDOW *win; { | |
10 | ||
11 | reg int y; | |
12 | reg char *sp, *end, *start, *maxx; | |
13 | reg int minx; | |
14 | ||
c4a44a4e KA |
15 | # ifdef DEBUG |
16 | fprintf(outf, "WERASE(%0.2o)\n", win); | |
17 | # endif | |
cc1a8c38 KA |
18 | for (y = 0; y < win->_maxy; y++) { |
19 | minx = _NOCHANGE; | |
20 | start = win->_y[y]; | |
21 | end = &start[win->_maxx]; | |
22 | for (sp = start; sp < end; sp++) | |
23 | if (*sp != ' ') { | |
24 | maxx = sp; | |
25 | if (minx == _NOCHANGE) | |
26 | minx = sp - start; | |
27 | *sp = ' '; | |
28 | } | |
f06658c3 JB |
29 | if (minx != _NOCHANGE) |
30 | touchline(win, y, minx, maxx - win->_y[y]); | |
cc1a8c38 KA |
31 | } |
32 | win->_curx = win->_cury = 0; | |
33 | } |