new io scheme
[unix-history] / usr / src / usr.bin / window / cmd6.c
CommitLineData
f176f953 1#ifndef lint
8fa6d94c 2static char *sccsid = "@(#)cmd6.c 3.7 84/01/16";
f176f953
EW
3#endif
4
5#include "defs.h"
36d54c8e 6#include "string.h"
f176f953
EW
7
8/*
9 * Debugging commands.
10 */
11
12c_debug()
13{
14 register struct ww *w;
15
16 if (!terse)
36d54c8e 17 (void) wwputs("[m(smap) n(ns) o(os) s(string) v(nvis) w(win)]? ", cmdwin);
f176f953 18 wwcurtowin(cmdwin);
8fa6d94c
EW
19 while (wwpeekc() < 0)
20 wwiomux();
f176f953
EW
21 if (!terse)
22 (void) wwputs("\r\n", cmdwin);
8fa6d94c 23 switch (wwgetc()) {
f176f953
EW
24 case 'm':
25 wwdumpsmap();
26 break;
27 case 'n':
28 wwdumpns();
29 break;
30 case 'o':
31 wwdumpos();
32 break;
36d54c8e
EW
33 case 's':
34 debug_str();
35 break;
f176f953
EW
36 case 'v':
37 if ((w = getwin()) != 0)
38 wwdumpnvis(w);
39 break;
f176f953
EW
40 case 'w':
41 if ((w = getwin()) != 0)
42 wwdumpwin(w);
43 break;
44 default:
45 wwbell();
46 }
47}
36d54c8e
EW
48
49#ifdef STR_DEBUG
50debug_str()
51{
52 register struct ww *w;
53 struct string *s;
54
55 if ((w = openiwin(wwnrow - 3, "Allocated Strings")) == 0) {
56 error("Can't open string window: %s.", wwerror());
57 return;
58 }
74e9bfa3 59 for (s = str_head.s_forw; s != &str_head; s = s->s_forw) {
4a972f7c
EW
60 if (more(w, 0) == 2)
61 goto out;
74e9bfa3
EW
62 (void) wwprintf(w, "(0x%x)\t\"%s\"\n", s->s_data, s->s_data);
63 }
36d54c8e 64 waitnl(w);
4a972f7c 65out:
36d54c8e
EW
66 closeiwin(w);
67}
68#else
69debug_str()
70{
71 error("No string debugging.");
72}
73#endif