diff options
Diffstat (limited to 'lib/libcurses/delwin.c')
| -rw-r--r-- | lib/libcurses/delwin.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/lib/libcurses/delwin.c b/lib/libcurses/delwin.c index 6935f87550f1..3f6848a56b62 100644 --- a/lib/libcurses/delwin.c +++ b/lib/libcurses/delwin.c @@ -1,6 +1,6 @@ /* - * Copyright (c) 1981 Regents of the University of California. - * All rights reserved. + * 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 @@ -32,48 +32,48 @@ */ #ifndef lint -static char sccsid[] = "@(#)delwin.c 5.4 (Berkeley) 6/1/90"; -#endif /* not lint */ +static char sccsid[] = "@(#)delwin.c 8.1 (Berkeley) 6/4/93"; +#endif /* not lint */ -# include "curses.ext" +#include <curses.h> +#include <stdlib.h> /* - * This routine deletes a window and releases it back to the system. - * + * delwin -- + * Delete a window and release it back to the system. */ +int delwin(win) -reg WINDOW *win; { + register WINDOW *win; +{ - reg int i; - reg WINDOW *wp, *np; + register WINDOW *wp, *np; - if (win->_orig == NULL) { + if (win->orig == NULL) { /* - * If we are the original window, delete the space for - * all the subwindows, and the array of space as well. + * If we are the original window, delete the space for all + * the subwindows, the line space and the window space. */ - for (i = 0; i < win->_maxy && win->_y[i]; i++) - free(win->_y[i]); - free(win->_firstch); - free(win->_lastch); - wp = win->_nextp; + free(win->lspace); + free(win->wspace); + free(win->lines); + wp = win->nextp; while (wp != win) { - np = wp->_nextp; + np = wp->nextp; delwin(wp); wp = np; } - } - else { + } else { /* - * If we are a subwindow, take ourselves out of the - * list. NOTE: if we are a subwindow, the minimum list - * is orig followed by this subwindow, so there are - * always at least two windows in the list. + * If we are a subwindow, take ourselves out of the list. + * NOTE: if we are a subwindow, the minimum list is orig + * followed by this subwindow, so there are always at least + * two windows in the list. */ - for (wp = win->_nextp; wp->_nextp != win; wp = wp->_nextp) + for (wp = win->nextp; wp->nextp != win; wp = wp->nextp) continue; - wp->_nextp = win->_nextp; + wp->nextp = win->nextp; } - free(win->_y); free(win); + return (OK); } |
