|
|
BSD 4.3reno
/*
* Copyright (c) 1981 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
* provided that: (1) source distributions retain this entire copyright
* notice and comment, and (2) distributions including binaries display
* the following acknowledgement: ``This product includes software
* developed by the University of California, Berkeley and its contributors''
* in the documentation or other materials provided with the distribution
* and in all advertising materials mentioning features or use of this
* software. Neither the name of the University nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef lint
static char sccsid[] = "@(#)id_subwins.c 5.4 (Berkeley) 6/1/90";
#endif /* not lint */
# include "curses.ext"
/*
* _id_subwins:
* Re-sync the pointers to _y for all the subwindows.
*
*/
_id_subwins(orig)
register WINDOW *orig;
{
register WINDOW *win;
register int realy;
register int y, oy, x;
realy = orig->_begy + orig->_cury;
for (win = orig->_nextp; win != orig; win = win->_nextp) {
/*
* If the window ends before our current position,
* don't need to do anything.
*/
if (win->_begy + win->_maxy <= realy)
continue;
oy = orig->_cury;
for (y = realy - win->_begy; y < win->_maxy; y++, oy++)
win->_y[y] = &orig->_y[oy][win->_ch_off];
}
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.