install approved copyright notice
[unix-history] / usr / src / usr.bin / window / cmd3.c
index faa87b8..e916db1 100644 (file)
@@ -1,44 +1,46 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)cmd3.c      1.1 83/07/18";
-#endif
+static char sccsid[] = "@(#)cmd3.c     3.16 (Berkeley) %G%";
+#endif /* not lint */
 
 #include "defs.h"
 
 #include "defs.h"
+#include "string.h"
 
 
-struct ww *getwin();
-struct ww *openwin();
-char *strtime();
-
-doclose(c)
+setescape(esc)
+register char *esc;
 {
 {
-       register struct ww *w;
+       if (*esc == '^') {
+               if (esc[1] != 0)
+                       escapec = esc[1] & 0x1f;
+               else
+                       escapec = '^';
+       } else
+               escapec = *esc;
+}
 
 
-       switch (c) {
-       case 'c':
-               if ((w = getwin()) == 0)
-                       break;
-               if (w == selwin)
-                       setselwin(0);
-               wwclose(w);
-               break;
-       case 'C':
-       case 'Z':
-               for (w = wwhead; w;) {
-                       if (w != cmdwin
-                           && (w->ww_state == WW_DEAD || c == 'Z')) {
-                               struct ww *w1;
-                               w = (w1 = w)->ww_next;
-                               if (w1 == selwin)
-                                       setselwin(0);
-                               wwclose(w1);
-                       } else
-                               w = w->ww_next;
-               }
-               break;
-       }
-       if (selwin == 0) {
-               for (w = wwhead; w && w == cmdwin;
-                    w = w->ww_next)
-                       ;
-               setselwin(w);
-       }
+setlabel(w, label)
+register struct ww *w;
+char *label;
+{
+       if (w->ww_label != 0)
+               str_free(w->ww_label);
+       if ((w->ww_label = str_cpy(label)) == 0)
+               return -1;
+       return 0;
 }
 }