Commit | Line | Data |
---|---|---|
f50078e9 | 1 | #ifndef lint |
43c1dd56 | 2 | static char *sccsid = "@(#)wwunframe.c 3.6 83/08/18"; |
f50078e9 EW |
3 | #endif |
4 | ||
5 | #include "ww.h" | |
6 | ||
f50078e9 EW |
7 | wwunframe(w) |
8 | register struct ww *w; | |
43c1dd56 EW |
9 | { |
10 | wwunframe1(w, 1); | |
11 | } | |
12 | ||
13 | wwunframe1(w, dofmap) | |
14 | register struct ww *w; | |
15 | char dofmap; | |
f50078e9 EW |
16 | { |
17 | register i, j; | |
18 | register char *win; | |
19 | register char *fmap; | |
20 | register struct ww *wp; | |
21 | ||
f50078e9 EW |
22 | for (i = w->ww_w.t; i < w->ww_w.b; i++) { |
23 | win = w->ww_win[i - w->ww_w.t]; | |
24 | fmap = wwfmap[i]; | |
25 | for (j = w->ww_w.l; j < w->ww_w.r; j++) { | |
26 | if (*win & WWM_GLS) { | |
27 | win++; | |
28 | fmap++; | |
29 | continue; | |
30 | } | |
31 | *win++ |= WWM_GLS; | |
43c1dd56 EW |
32 | if (dofmap) |
33 | *fmap++ = 0; | |
f50078e9 EW |
34 | if (wwsmap[i][j] == w->ww_index) { |
35 | wwsmap[i][j] = WWX_NOBODY; | |
36 | wwns[i][j].c_w = ' '; | |
861cd1ed | 37 | wwtouched[i] = 1; |
f50078e9 EW |
38 | } |
39 | } | |
40 | w->ww_nvis[i] = 0; | |
41 | } | |
42 | for (wp = w->ww_forw; wp != &wwhead; wp = wp->ww_forw) | |
43 | wwuncover(w, wp); | |
44 | } |