From b17f6be0700db52751d5eef605731d69fe5e6757 Mon Sep 17 00:00:00 2001 From: Ken Arnold Date: Tue, 27 Jan 1981 01:03:07 -0800 Subject: [PATCH] date and time created 81/01/26 17:03:07 by arnold SCCS-vsn: lib/libcurses/overwrite.c 1.1 --- usr/src/lib/libcurses/overwrite.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 usr/src/lib/libcurses/overwrite.c diff --git a/usr/src/lib/libcurses/overwrite.c b/usr/src/lib/libcurses/overwrite.c new file mode 100644 index 0000000000..af8fecbeb4 --- /dev/null +++ b/usr/src/lib/libcurses/overwrite.c @@ -0,0 +1,28 @@ +# include "curses.h" + +# define min(a,b) (a < b ? a : b) + +/* + * This routine writes win1 on win2 destructively. + * + * %G% (Berkeley) @(#)overwrite.c 1.1 + */ +overwrite(win1, win2) +reg WINDOW *win1, *win2; { + + reg int x, y, minx, miny, starty; + +# ifdef DEBUG + fprintf(outf, "OVERWRITE(0%o, 0%o);\n", win1, win2); +# endif + miny = min(win1->_maxy, win2->_maxy); + minx = min(win1->_maxx, win2->_maxx); +# ifdef DEBUG + fprintf(outf, "OVERWRITE:\tminx = %d, miny = %d\n", minx, miny); +# endif + starty = win1->_begy - win2->_begy; + for (y = 0; y < miny; y++) + if (wmove(win2, y + starty, 0) != ERR) + for (x = 0; x < minx; x++) + waddch(win2, win1->_y[y][x]); +} -- 2.20.1