X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/74f2441ef228e43b0121970cd4d9d51447585245..95bc282c96eea2e797f49e1547f05e5fd4acd2fd:/usr/src/usr.bin/window/wwdelline.c diff --git a/usr/src/usr.bin/window/wwdelline.c b/usr/src/usr.bin/window/wwdelline.c index 151b1ed96d..b108815f83 100644 --- a/usr/src/usr.bin/window/wwdelline.c +++ b/usr/src/usr.bin/window/wwdelline.c @@ -1,40 +1,47 @@ #ifndef lint -static char *sccsid = "@(#)wwdelline.c 3.3 83/08/18"; +static char sccsid[] = "@(#)wwdelline.c 3.7 %G%"; #endif +/* + * Copyright (c) 1983 Regents of the University of California, + * All rights reserved. Redistribution permitted subject to + * the terms of the Berkeley Software License Agreement. + */ + #include "ww.h" -wwdelline(w, line) +wwdelline(w, row) register struct ww *w; -int line; +int row; { register i; register union ww_char **cpp, **cqq; register union ww_char *cp; - int srow, erow; + int row1, row2; char deleted; int visible; /* * Scroll first. */ - if ((srow = line - w->ww_scroll) < 0) - srow = 0; - if ((erow = w->ww_nline - w->ww_scroll - 1) >= w->ww_w.nr) { - erow = w->ww_w.nr - 1; + if ((row1 = row) < w->ww_i.t) { + row1 = w->ww_i.t; + } + if ((row2 = w->ww_b.b) > w->ww_i.b) { + row2 = w->ww_i.b; visible = 0; } else visible = 1; - deleted = wwscroll1(w, srow, erow, 1, visible); + deleted = wwscroll1(w, row1, row2, 1, visible); /* * Fix the buffer. * But leave clearing the last line for wwclreol(). */ - cpp = &w->ww_buf[line]; + cpp = &w->ww_buf[row]; cqq = cpp + 1; cp = *cpp; - for (i = w->ww_nline - line - 1; --i >= 0;) + for (i = w->ww_b.b - row; --i > 0;) *cpp++ = *cqq++; *cpp = cp; @@ -42,8 +49,8 @@ int line; * Now clear the last line. */ if (visible) - wwclreol1(w, w->ww_nline - 1, 0, deleted); + wwclreol1(w, w->ww_b.b - 1, w->ww_b.l, deleted); else - for (i = w->ww_w.nc; --i >= 0;) + for (i = w->ww_b.nc; --i >= 0;) cp++->c_w = ' '; }