|
|
1.1 root 1: #ifndef lint
2: static char sccsid[] = "@(#)cmd6.c 3.13 4/24/85";
3: #endif
4:
5: /*
6: * Copyright (c) 1983 Regents of the University of California,
7: * All rights reserved. Redistribution permitted subject to
8: * the terms of the Berkeley Software License Agreement.
9: */
10:
11: #include "defs.h"
12: #include "string.h"
13: #include "char.h"
14:
15: /*
16: * Debugging commands.
17: */
18:
19: c_debug()
20: {
21: register struct ww *w;
22:
23: if (!terse)
24: wwputs("[m(smap) n(ns) o(os) s(string) v(nvis) w(win)]? ", cmdwin);
25: wwcurtowin(cmdwin);
26: while (wwpeekc() < 0)
27: wwiomux();
28: if (!terse)
29: wwputc('\n', cmdwin);
30: switch (wwgetc()) {
31: case 'm':
32: wwdumpsmap();
33: break;
34: case 'n':
35: wwdumpns();
36: break;
37: case 'o':
38: wwdumpos();
39: break;
40: case 's':
41: debug_str();
42: break;
43: case 'v':
44: if ((w = getwin()) != 0)
45: wwdumpnvis(w);
46: break;
47: case 'w':
48: if ((w = getwin()) != 0)
49: wwdumpwin(w);
50: break;
51: default:
52: wwbell();
53: }
54: }
55:
56: #ifdef STR_DEBUG
57: debug_str()
58: {
59: register struct ww *w;
60: struct string *s;
61:
62: if ((w = openiwin(wwnrow - 3, "Allocated Strings")) == 0) {
63: error("Can't open string window: %s.", wwerror());
64: return;
65: }
66: for (s = str_head.s_forw; s != &str_head; s = s->s_forw) {
67: if (more(w, 0) == 2)
68: goto out;
69: wwprintf(w, "(0x%x)\t\"%s\"\n", s->s_data, s->s_data);
70: }
71: waitnl(w);
72: out:
73: closeiwin(w);
74: }
75: #else
76: debug_str()
77: {
78: error("No string debugging.");
79: }
80: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.