+# include "curses.ext"
+
+/*
+ * This routine clears up to the end of line
+ *
+ * %G% (Berkeley) @(#)clrtoeol.c 1.1
+ */
+wclrtoeol(win)
+reg WINDOW *win; {
+
+ reg char *sp, *end;
+ reg int y, x;
+ reg char *maxx;
+ reg int minx;
+
+ y = win->_cury;
+ x = win->_curx;
+ end = &win->_y[y][win->_maxx];
+ minx = _NOCHANGE;
+ maxx = &win->_y[y][x];
+ for (sp = maxx; sp < end; sp++)
+ if (*sp != ' ') {
+ maxx = sp;
+ if (minx == _NOCHANGE)
+ minx = sp - win->_y[y];
+ *sp = ' ';
+ }
+ /*
+ * update firstch and lastch for the line
+ */
+# ifdef DEBUG
+ fprintf(outf, "CLRTOEOL: minx = %d, maxx = %d, firstch = %d, lastch = %d\n", minx, maxx - win->_y[y], win->_firstch[y], win->_lastch[y]);
+# endif
+ if (minx != _NOCHANGE) {
+ if (win->_firstch[y] > minx || win->_firstch[y] == _NOCHANGE)
+ win->_firstch[y] = minx;
+ if (win->_lastch[y] < maxx - win->_y[y])
+ win->_lastch[y] = maxx - win->_y[y];
+ }
+
+ return OK;
+}