Commit | Line | Data |
---|---|---|
f50078e9 | 1 | #ifndef lint |
7edc52ec | 2 | static char sccsid[] = "@(#)wwunframe.c 3.13 %G%"; |
f50078e9 EW |
3 | #endif |
4 | ||
5 | #include "ww.h" | |
6 | ||
f50078e9 EW |
7 | wwunframe(w) |
8 | register struct ww *w; | |
9 | { | |
c05972b9 | 10 | int i; |
f50078e9 | 11 | |
f2a77fe1 | 12 | for (i = w->ww_i.t; i < w->ww_i.b; i++) { |
c05972b9 EW |
13 | register j; |
14 | register char *win = w->ww_win[i]; | |
15 | register char *fmap = w->ww_fmap ? w->ww_fmap[i] : 0; | |
16 | register char *smap = wwsmap[i]; | |
17 | register struct ww_char *ns = wwns[i]; | |
04d70db4 | 18 | int nchanged = 0; |
9f722fc9 | 19 | |
c05972b9 EW |
20 | for (j = w->ww_i.l; j < w->ww_i.r; j++) { |
21 | if (win[j] & WWM_GLS) | |
f50078e9 | 22 | continue; |
c05972b9 EW |
23 | win[j] |= WWM_GLS; |
24 | if (fmap != 0) | |
25 | fmap[j] = 0; | |
26 | if (smap[j] == w->ww_index) { | |
27 | smap[j] = WWX_NOBODY; | |
28 | ns[j].c_w = ' '; | |
04d70db4 | 29 | nchanged++; |
f50078e9 | 30 | } |
f50078e9 | 31 | } |
04d70db4 EW |
32 | if (nchanged > 4) |
33 | wwtouched[i] |= WWU_MAJOR|WWU_TOUCHED; | |
34 | else if (nchanged > 0) | |
35 | wwtouched[i] |= WWU_TOUCHED; | |
f50078e9 EW |
36 | w->ww_nvis[i] = 0; |
37 | } | |
84ad208b | 38 | |
c05972b9 EW |
39 | if (w->ww_forw != &wwhead) |
40 | wwdelete1(w->ww_forw, | |
41 | w->ww_i.t, w->ww_i.b, w->ww_i.l, w->ww_i.r); | |
f50078e9 | 42 | } |