1 #ifndef lint 2 static char sccsid[] = "@(#)wwunframe.c 3.14 04/24/85"; 3 #endif 4 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 11 #include "ww.h" 12 13 wwunframe(w) 14 register struct ww *w; 15 { 16 int i; 17 18 for (i = w->ww_i.t; i < w->ww_i.b; i++) { 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]; 24 int nchanged = 0; 25 26 for (j = w->ww_i.l; j < w->ww_i.r; j++) { 27 if (win[j] & WWM_GLS) 28 continue; 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 = ' '; 35 nchanged++; 36 } 37 } 38 if (nchanged > 4) 39 wwtouched[i] |= WWU_MAJOR|WWU_TOUCHED; 40 else if (nchanged > 0) 41 wwtouched[i] |= WWU_TOUCHED; 42 w->ww_nvis[i] = 0; 43 } 44 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); 48 } 49