mapnl option to window
[unix-history] / usr / src / usr.bin / window / wwunframe.c
CommitLineData
f50078e9 1#ifndef lint
7edc52ec 2static char sccsid[] = "@(#)wwunframe.c 3.13 %G%";
f50078e9
EW
3#endif
4
5#include "ww.h"
6
f50078e9
EW
7wwunframe(w)
8register 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}