error reporting
[unix-history] / usr / src / usr.bin / window / wwclreol.c
index 33a6346..ccc1cb7 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)wwclreol.c  3.4 83/08/15";
+static char *sccsid = "@(#)wwclreol.c  3.7 83/08/18";
 #endif
 
 #include "ww.h"
 #endif
 
 #include "ww.h"
@@ -27,6 +27,7 @@ char cleared;
        int scol = w->ww_w.l + col;
        register union ww_char *s, *buf;
        register char *smap, *win;
        int scol = w->ww_w.l + col;
        register union ww_char *s, *buf;
        register char *smap, *win;
+       char *touched;
        int nblank, ncleared;
 
        if (row < 0 || row >= w->ww_w.nr) {
        int nblank, ncleared;
 
        if (row < 0 || row >= w->ww_w.nr) {
@@ -38,19 +39,20 @@ char cleared;
        }
        smap = &wwsmap[srow][scol];
        s = &wwns[srow][scol];
        }
        smap = &wwsmap[srow][scol];
        s = &wwns[srow][scol];
+       touched = &wwtouched[srow];
        win = &w->ww_win[row][col];
        win = &w->ww_win[row][col];
-       buf = &w->ww_buf[row][col];
+       buf = &w->ww_buf[line][col];
        ncleared = nblank = 0;
        for (i = w->ww_w.nc - col; --i >= 0;) {
        ncleared = nblank = 0;
        for (i = w->ww_w.nc - col; --i >= 0;) {
+               buf++->c_w = ' ';
                if (*smap++ != w->ww_index) {
                        if (s++->c_w == ' ')
                                nblank++;
                if (*smap++ != w->ww_index) {
                        if (s++->c_w == ' ')
                                nblank++;
-                       buf++;
                        win++;
                        continue;
                }
                ncleared++; 
                        win++;
                        continue;
                }
                ncleared++; 
-               buf++->c_w = ' ';
+               *touched = 1;
                if (*win == 0) {
                        nblank++;
                        s++->c_w = ' ';
                if (*win == 0) {
                        nblank++;
                        s++->c_w = ' ';