Commit | Line | Data |
---|---|---|
f176f953 | 1 | #ifndef lint |
0e64e422 | 2 | static 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 | ||
13 | c_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 | |
51 | debug_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 | 66 | out: |
36d54c8e EW |
67 | closeiwin(w); |
68 | } | |
69 | #else | |
70 | debug_str() | |
71 | { | |
72 | error("No string debugging."); | |
73 | } | |
74 | #endif |