113982Sedward #ifndef lint 2*14987Sedward static char *sccsid = "@(#)wwclose.c 3.5 83/09/15"; 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; 1214415Sedward if (w->ww_state == WWS_HASPROC) 1314415Sedward (void) kill(w->ww_pid, SIGHUP); 1414864Sedward if (w->ww_haspty) { 1514864Sedward (void) close(w->ww_tty); 1614864Sedward (void) close(w->ww_pty); 1714864Sedward } 18*14987Sedward wwfree((char **)w->ww_win, w->ww_w.t); 19*14987Sedward wwfree((char **)w->ww_cov, w->ww_w.t); 20*14987Sedward wwfree((char **)w->ww_buf, w->ww_w.t); 2114830Sedward if (w->ww_fmap != 0) 22*14987Sedward wwfree((char **)w->ww_fmap, w->ww_w.t); 23*14987Sedward free((char *)(w->ww_nvis + w->ww_w.t)); 2414415Sedward free((char *)w); 2513982Sedward } 26