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