Commit | Line | Data |
---|---|---|
60de5df9 | 1 | /* |
a5338855 KB |
2 | * Copyright (c) 1983, 1993 |
3 | * The Regents of the University of California. All rights reserved. | |
46e9ea25 | 4 | * |
3dd3a9e5 KB |
5 | * This code is derived from software contributed to Berkeley by |
6 | * Edward Wang at The University of California, Berkeley. | |
7 | * | |
87f529ec | 8 | * %sccs.include.redist.c% |
60de5df9 EW |
9 | */ |
10 | ||
46e9ea25 | 11 | #ifndef lint |
a5338855 | 12 | static char sccsid[] = "@(#)wwunframe.c 8.1 (Berkeley) %G%"; |
46e9ea25 KB |
13 | #endif /* not lint */ |
14 | ||
f50078e9 EW |
15 | #include "ww.h" |
16 | ||
f50078e9 EW |
17 | wwunframe(w) |
18 | register struct ww *w; | |
19 | { | |
c05972b9 | 20 | int i; |
f50078e9 | 21 | |
f2a77fe1 | 22 | for (i = w->ww_i.t; i < w->ww_i.b; i++) { |
c05972b9 EW |
23 | register j; |
24 | register char *win = w->ww_win[i]; | |
25 | register char *fmap = w->ww_fmap ? w->ww_fmap[i] : 0; | |
26 | register char *smap = wwsmap[i]; | |
6ef62e9e | 27 | register union ww_char *ns = wwns[i]; |
04d70db4 | 28 | int nchanged = 0; |
9f722fc9 | 29 | |
c05972b9 EW |
30 | for (j = w->ww_i.l; j < w->ww_i.r; j++) { |
31 | if (win[j] & WWM_GLS) | |
f50078e9 | 32 | continue; |
c05972b9 EW |
33 | win[j] |= WWM_GLS; |
34 | if (fmap != 0) | |
35 | fmap[j] = 0; | |
36 | if (smap[j] == w->ww_index) { | |
37 | smap[j] = WWX_NOBODY; | |
38 | ns[j].c_w = ' '; | |
04d70db4 | 39 | nchanged++; |
f50078e9 | 40 | } |
f50078e9 | 41 | } |
6a1ef78a | 42 | if (nchanged > 0) |
04d70db4 | 43 | wwtouched[i] |= WWU_TOUCHED; |
f50078e9 EW |
44 | w->ww_nvis[i] = 0; |
45 | } | |
84ad208b | 46 | |
c05972b9 EW |
47 | if (w->ww_forw != &wwhead) |
48 | wwdelete1(w->ww_forw, | |
49 | w->ww_i.t, w->ww_i.b, w->ww_i.l, w->ww_i.r); | |
f50078e9 | 50 | } |