diff options
author | 1997-12-03 05:20:47 +0000 | |
---|---|---|
committer | 1997-12-03 05:20:47 +0000 | |
commit | 6f4099fecac342eeff29dd2bf0512f777a62a591 (patch) | |
tree | 30035276ed4d5b07245464d724dd101dc9b5efb4 /lib/libcurses/lib_clrbot.c | |
parent | merge of ncurses-4.1-971129 (diff) | |
download | wireguard-openbsd-6f4099fecac342eeff29dd2bf0512f777a62a591.tar.xz wireguard-openbsd-6f4099fecac342eeff29dd2bf0512f777a62a591.zip |
Merge of ncurses-4.1-971129
Diffstat (limited to 'lib/libcurses/lib_clrbot.c')
-rw-r--r-- | lib/libcurses/lib_clrbot.c | 65 |
1 files changed, 31 insertions, 34 deletions
diff --git a/lib/libcurses/lib_clrbot.c b/lib/libcurses/lib_clrbot.c index 9580df1a904..ad2469c264f 100644 --- a/lib/libcurses/lib_clrbot.c +++ b/lib/libcurses/lib_clrbot.c @@ -1,3 +1,5 @@ +/* $OpenBSD: lib_clrbot.c,v 1.3 1997/12/03 05:21:13 millert Exp $ */ + /*************************************************************************** * COPYRIGHT NOTICE * @@ -28,45 +30,40 @@ #include <curses.priv.h> -MODULE_ID("Id: lib_clrbot.c,v 1.9 1997/02/01 23:18:18 tom Exp $") +MODULE_ID("Id: lib_clrbot.c,v 1.12 1997/09/20 15:02:34 juergen Exp $") int wclrtobot(WINDOW *win) { -chtype *ptr, *end, *maxx = NULL; -short y, startx, minx; +int code = ERR; +chtype blank; +chtype *ptr, *end; +short y, startx; T((T_CALLED("wclrtobot(%p)"), win)); - startx = win->_curx; - - T(("clearing from y = %d to y = %d with maxx = %d", win->_cury, win->_maxy, win->_maxx)); - - for (y = win->_cury; y <= win->_maxy; y++) { - minx = _NOCHANGE; - end = &win->_line[y].text[win->_maxx]; - - for (ptr = &win->_line[y].text[startx]; ptr <= end; ptr++) { - chtype blank = _nc_background(win); - - if (*ptr != blank) { - maxx = ptr; - if (minx == _NOCHANGE) - minx = ptr - win->_line[y].text; - *ptr = blank; - } - } - - if (minx != _NOCHANGE) { - if (win->_line[y].firstchar > minx - || win->_line[y].firstchar == _NOCHANGE) - win->_line[y].firstchar = minx; - - if (win->_line[y].lastchar < maxx - win->_line[y].text) - win->_line[y].lastchar = maxx - win->_line[y].text; - } - - startx = 0; + if (win) { + startx = win->_curx; + + T(("clearing from y = %d to y = %d with maxx = %d", win->_cury, win->_maxy, win->_maxx)); + + for (y = win->_cury; y <= win->_maxy; y++) { + end = &win->_line[y].text[win->_maxx]; + + blank = _nc_background(win); + for (ptr = &win->_line[y].text[startx]; ptr <= end; ptr++) + *ptr = blank; + + if (win->_line[y].firstchar > startx + || win->_line[y].firstchar == _NOCHANGE) + win->_line[y].firstchar = startx; + + win->_line[y].lastchar = win->_maxx; + + startx = 0; + } + _nc_synchook(win); + code = OK; } - _nc_synchook(win); - returnCode(OK); + returnCode(code); } + |