xref: /csrg-svn/usr.bin/window/wwclose.c (revision 62477)
118735Sedward /*
2*62477Sbostic  * Copyright (c) 1983, 1993
3*62477Sbostic  *	The Regents of the University of California.  All rights reserved.
433514Sbostic  *
542954Sbostic  * This code is derived from software contributed to Berkeley by
642954Sbostic  * Edward Wang at The University of California, Berkeley.
742954Sbostic  *
842835Sbostic  * %sccs.include.redist.c%
918735Sedward  */
1018735Sedward 
1133514Sbostic #ifndef lint
12*62477Sbostic static char sccsid[] = "@(#)wwclose.c	8.1 (Berkeley) 06/06/93";
1333514Sbostic #endif /* not lint */
1433514Sbostic 
1513982Sedward #include "ww.h"
1613982Sedward 
wwclose(w)1713982Sedward wwclose(w)
1813982Sedward register struct ww *w;
1913982Sedward {
2014415Sedward 	wwindex[w->ww_index] = 0;
2116313Sedward 	if (w->ww_pty >= 0)
2216313Sedward 		(void) close(w->ww_pty);
2316313Sedward 	if (w->ww_socket >= 0)
2416313Sedward 		(void) close(w->ww_socket);
2514987Sedward 	wwfree((char **)w->ww_win, w->ww_w.t);
2618203Sedward 	wwfree((char **)w->ww_buf, w->ww_b.t);
2714830Sedward 	if (w->ww_fmap != 0)
2814987Sedward 		wwfree((char **)w->ww_fmap, w->ww_w.t);
2914987Sedward 	free((char *)(w->ww_nvis + w->ww_w.t));
3016108Sedward 	if (w->ww_ob != 0)
3116108Sedward 		free(w->ww_ob);
3214415Sedward 	free((char *)w);
3313982Sedward }
34