X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/87c6fcf88559d03de3f8630e6ce6f000a2dd5ae1..ed554bc5e4201344d7eaad78263566e79428759c:/usr/src/lib/libcurses/mvwin.c diff --git a/usr/src/lib/libcurses/mvwin.c b/usr/src/lib/libcurses/mvwin.c index a6a9d2e1d6..5699295769 100644 --- a/usr/src/lib/libcurses/mvwin.c +++ b/usr/src/lib/libcurses/mvwin.c @@ -1,51 +1,77 @@ /* - * Copyright (c) 1980 Regents of the University of California. - * All rights reserved. The Berkeley software License Agreement - * specifies the terms and conditions for redistribution. + * Copyright (c) 1981, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. 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 BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #ifndef lint -static char sccsid[] = "@(#)mvwin.c 5.1 (Berkeley) %G%"; -#endif not lint +static char sccsid[] = "@(#)mvwin.c 8.1 (Berkeley) 6/4/93"; +#endif /* not lint */ -# include "curses.ext" +#include /* - * relocate the starting position of a window - * + * mvwin -- + * Relocate the starting position of a window. */ - +int mvwin(win, by, bx) -reg WINDOW *win; -reg int by, bx; { - - register WINDOW *orig; - register int dy, dx; + register WINDOW *win; + register int by, bx; +{ + register WINDOW *orig; + register int dy, dx; - if (by + win->_maxy > LINES || bx + win->_maxx > COLS) - return ERR; - dy = by - win->_begy; - dx = bx - win->_begx; - orig = win->_orig; + if (by + win->maxy > LINES || bx + win->maxx > COLS) + return (ERR); + dy = by - win->begy; + dx = bx - win->begx; + orig = win->orig; if (orig == NULL) { orig = win; do { - win->_begy += dy; - win->_begx += dx; - _swflags_(win); - win = win->_nextp; + win->begy += dy; + win->begx += dx; + __swflags(win); + win = win->nextp; } while (win != orig); + } else { + if (by < orig->begy || win->maxy + dy > orig->maxy) + return (ERR); + if (bx < orig->begx || win->maxx + dx > orig->maxx) + return (ERR); + win->begy = by; + win->begx = bx; + __swflags(win); + __set_subwin(orig, win); } - else { - if (by < orig->_begy || win->_maxy + dy > orig->_maxy) - return ERR; - if (bx < orig->_begx || win->_maxx + dx > orig->_maxx) - return ERR; - win->_begy = by; - win->_begx = bx; - _swflags_(win); - _set_subwin_(orig, win); - } - touchwin(win); - return OK; + __touchwin(win); + return (OK); }