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