try to deal with subwindow deletion
[unix-history] / usr / src / lib / libcurses / delwin.c
CommitLineData
d51d9cc8
KA
1# include "curses.ext"
2
3/*
4 * This routine deletes a window and releases it back to the system.
5 *
8cc6062e 6 * %G% (Berkeley) @(#)delwin.c 1.4
d51d9cc8
KA
7 */
8delwin(win)
9reg WINDOW *win; {
10
c1ba161f
KA
11 reg int i;
12 reg WINDOW *wp, *np;
d51d9cc8 13
c1ba161f 14 if (win->_orig == NULL) {
d51d9cc8
KA
15 for (i = 0; i < win->_maxy && win->_y[i]; i++)
16 cfree(win->_y[i]);
c1ba161f
KA
17 wp = win->_nextp;
18 while (wp != win) {
19 np = wp->_nextp;
20 delwin(wp);
21 wp = np;
22 }
23 }
d51d9cc8 24 cfree(win->_y);
1fe7814b
KA
25 cfree(win->_firstch);
26 cfree(win->_lastch);
d51d9cc8
KA
27 cfree(win);
28}