Add define for Kirk Smith's USR Courier driver. Change default baud
[unix-history] / usr / src / usr.bin / window / wwclose.c
index 20af7fe..6c5bea9 100644 (file)
@@ -1,7 +1,13 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)wwclose.c   3.1 83/08/11";
+static char sccsid[] = "@(#)wwclose.c  3.13 %G%";
 #endif
 
 #endif
 
+/*
+ * Copyright (c) 1983 Regents of the University of California,
+ * All rights reserved.  Redistribution permitted subject to
+ * the terms of the Berkeley Software License Agreement.
+ */
+
 #include "ww.h"
 #include <signal.h>
 
 #include "ww.h"
 #include <signal.h>
 
@@ -9,12 +15,16 @@ wwclose(w)
 register struct ww *w;
 {
        wwindex[w->ww_index] = 0;
 register struct ww *w;
 {
        wwindex[w->ww_index] = 0;
-       if (w->ww_state == WWS_HASPROC)
-               (void) kill(w->ww_pid, SIGHUP);
-       (void) close(w->ww_tty);
-       (void) close(w->ww_pty);
-       wwfree((char **)w->ww_win, w->ww_w.nr);
-       wwfree((char **)w->ww_cov, w->ww_w.nr);
-       wwfree((char **)w->ww_buf, w->ww_nline);
+       if (w->ww_pty >= 0)
+               (void) close(w->ww_pty);
+       if (w->ww_socket >= 0)
+               (void) close(w->ww_socket);
+       wwfree((char **)w->ww_win, w->ww_w.t);
+       wwfree((char **)w->ww_buf, w->ww_b.t);
+       if (w->ww_fmap != 0)
+               wwfree((char **)w->ww_fmap, w->ww_w.t);
+       free((char *)(w->ww_nvis + w->ww_w.t));
+       if (w->ww_ob != 0)
+               free(w->ww_ob);
        free((char *)w);
 }
        free((char *)w);
 }