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
document distributed with 4.2BSD
[unix-history]
/
usr
/
src
/
lib
/
libcurses
/
overlay.c
diff --git
a/usr/src/lib/libcurses/overlay.c
b/usr/src/lib/libcurses/overlay.c
index
b59057a
..
ab2592e
100644
(file)
--- a/
usr/src/lib/libcurses/overlay.c
+++ b/
usr/src/lib/libcurses/overlay.c
@@
-5,7
+5,7
@@
*/
#ifndef lint
*/
#ifndef lint
-static char sccsid[] = "@(#)overlay.c 5.
1
(Berkeley) %G%";
+static char sccsid[] = "@(#)overlay.c 5.
2
(Berkeley) %G%";
#endif not lint
# include "curses.ext"
#endif not lint
# include "curses.ext"
@@
-23,6
+23,7
@@
reg WINDOW *win1, *win2; {
reg char *sp, *end;
reg int x, y, endy, endx, starty, startx;
reg char *sp, *end;
reg int x, y, endy, endx, starty, startx;
+ reg int y1,y2;
# ifdef DEBUG
fprintf(outf, "OVERLAY(%0.2o, %0.2o);\n", win1, win2);
# ifdef DEBUG
fprintf(outf, "OVERLAY(%0.2o, %0.2o);\n", win1, win2);
@@
-42,14
+43,14
@@
reg WINDOW *win1, *win2; {
&win2->_y[y - win2->_begy][startx - win2->_begx], x);
touchline(win2, y, startx - win2->_begx, endx - win2->_begx);
}
&win2->_y[y - win2->_begy][startx - win2->_begx], x);
touchline(win2, y, startx - win2->_begx, endx - win2->_begx);
}
- for (y = starty; y < endy; y++) {
- end = &win1->_y[y - win1->_begy][endx - win1->_begx];
+ y1 = starty - win1->_begy;
+ y2 = starty - win2->_begy;
+ for (y = starty; y < endy; y++, y1++, y2++) {
+ end = &win1->_y[y1][endx - win1->_begx];
x = startx - win2->_begx;
x = startx - win2->_begx;
- for (sp = &win1->_y[y][startx - win1->_begx]; sp < end; sp++) {
- if (!isspace(*sp)) {
- waddch(win2, y - win2->_begy, x);
- waddch(win2, *sp);
- }
+ for (sp = &win1->_y[y1][startx - win1->_begx]; sp < end; sp++) {
+ if (!isspace(*sp))
+ mvwaddch(win2, y2, x, *sp);
x++;
}
}
x++;
}
}