projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix ctrl macro for ANSI C
[unix-history]
/
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
151b1ed
..
b108815
100644
(file)
--- a/
usr/src/usr.bin/window/wwdelline.c
+++ b/
usr/src/usr.bin/window/wwdelline.c
@@
-1,40
+1,47
@@
#ifndef lint
#ifndef lint
-static char
*sccsid = "@(#)wwdelline.c 3.3 83/08/18
";
+static char
sccsid[] = "@(#)wwdelline.c 3.7 %G%
";
#endif
#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"
#include "ww.h"
-wwdelline(w,
line
)
+wwdelline(w,
row
)
register struct ww *w;
register struct ww *w;
-int
line
;
+int
row
;
{
register i;
register union ww_char **cpp, **cqq;
register union ww_char *cp;
{
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.
*/
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;
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().
*/
/*
* 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;
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;
*cpp++ = *cqq++;
*cpp = cp;
@@
-42,8
+49,8
@@
int line;
* Now clear the last line.
*/
if (visible)
* 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
else
- for (i = w->ww_
w
.nc; --i >= 0;)
+ for (i = w->ww_
b
.nc; --i >= 0;)
cp++->c_w = ' ';
}
cp++->c_w = ' ';
}