xref: /csrg-svn/usr.bin/window/wwclose.c (revision 16313)
113982Sedward #ifndef lint
2*16313Sedward static	char *sccsid = "@(#)wwclose.c	3.10 84/04/08";
313982Sedward #endif
413982Sedward 
513982Sedward #include "ww.h"
613982Sedward #include <signal.h>
713982Sedward 
813982Sedward wwclose(w)
913982Sedward register struct ww *w;
1013982Sedward {
1114415Sedward 	wwindex[w->ww_index] = 0;
12*16313Sedward 	if (w->ww_pty >= 0)
13*16313Sedward 		(void) close(w->ww_pty);
14*16313Sedward 	if (w->ww_socket >= 0)
15*16313Sedward 		(void) close(w->ww_socket);
1614987Sedward 	wwfree((char **)w->ww_win, w->ww_w.t);
1714987Sedward 	wwfree((char **)w->ww_buf, w->ww_w.t);
1814830Sedward 	if (w->ww_fmap != 0)
1914987Sedward 		wwfree((char **)w->ww_fmap, w->ww_w.t);
2014987Sedward 	free((char *)(w->ww_nvis + w->ww_w.t));
2116108Sedward 	if (w->ww_ob != 0)
2216108Sedward 		free(w->ww_ob);
2314415Sedward 	free((char *)w);
2413982Sedward }
25