21 static char *
spec(
char**);
70 if (
eq(wl->wl_word,
"after")) {
76 for (s = wl->wl_word; *s; s++)
79 i = atoi(wl->wl_word);
86 if (
eq(wl->wl_word,
"when")) {
91 for (i = 0,wx = wl; wx; wx = wx->
wl_next) {
100 for (wl = wl->wl_next; wl; wl = wl->wl_next) {
101 if (
eq(wl->wl_word,
"after") ||
eq(wl->wl_word,
"when"))
127 fprintf(
cp_err,
"Syntax error.\n");
143 s =
copy(wl->wl_word);
151 for (td = dbtrace; td; ld = td, td = td->
db_next)
153 fprintf(
cp_err,
"Already tracing %s, ignored.\n",
189 for ( ; wl; wl = wl->wl_next) {
190 s =
copy(wl->wl_word);
193 if (
eq(s,
"plot") ||
eq(s,
"graf")) {
197 if (currentdb ==
NULL) {
236 s =
copy(wl->wl_word);
244 for (td = dbsave; td; ld = td,td = td->
db_next)
246 fprintf(
cp_err,
"Already saving %s, ignored.\n",
291 for (d = dbstop; d; d = d->
db_next)
293 for (d = dbtrace; d; d = d->
db_next)
295 for (d = dbiplot; d; d = d->
db_next)
297 for (d = dbsave; d; d = d->
db_next)
308 char *all =
"all",*trace =
"trace",*
iplot =
"iplot",*save =
"save";
312 switch (d->db_type) {
315 s2 = d->db_nodename1;
320 s2 = d->db_nodename1;
332 d->db_nodename2, d->db_nodename1);
339 out_printf(
"%-4d exiting iplot (%s) %s", d->db_number,
348 "com_sttus: Internal Error: bad db %d...\n",d->db_type);
351 out_printf(
"%-4d %s %s\n", d->db_number, s1, s2);
362 for (dd = db; dd; dd = dn) {
388 fprintf(
cp_err,
"Error: no debugs in effect\n");
393 if (*buf !=
'y' && *buf !=
'Y' && *buf !=
'\n')
397 else if (d == dbtrace)
399 else if (d == dbiplot)
401 else if (d == dbsave)
408 if (
eq(wl->wl_word,
"trace") ||
eq(wl->wl_word,
"all")) {
409 for (dt = dbtrace; dt; dt = d) {
414 if (
eq(wl->wl_word,
"trace")) {
419 if (
eq(wl->wl_word,
"save") ||
eq(wl->wl_word,
"all")) {
420 for (dt = dbsave; dt; dt = d) {
425 if (
eq(wl->wl_word,
"save")) {
430 if (
eq(wl->wl_word,
"iplot") ||
eq(wl->wl_word,
"all")) {
431 for (d = dbiplot; d; d = dx) {
436 if (
eq(wl->wl_word,
"iplot")) {
441 if (
eq(wl->wl_word,
"stop") ||
eq(wl->wl_word,
"all")) {
442 for (dt = dbstop; dt; dt = d) {
452 for (s = wl->wl_word; *s; s++) {
454 fprintf(
cp_err,
"Error: %s isn't a number.\n",
463 i = atoi(wl->wl_word);
464 for (dt =
NULL,d = dbtrace; d; dt = d,d = d->db_next) {
465 if (d->db_number != i)
continue;
467 dbtrace = d->db_next;
473 for (dt =
NULL,d = dbiplot; d; dt = d,d = d->db_next) {
474 if (d->db_number != i)
continue;
476 dbiplot = d->db_next;
482 for (dt =
NULL,d = dbsave; d; dt = d,d = d->db_next) {
483 if (d->db_number != i)
continue;
491 for (dt =
NULL,d = dbstop; d; dt = d,d = d->db_next) {
492 if (d->db_number != i)
continue;
512 struct
plot *runplot;
523 if (dbtrace || dbstop) {
525 for (d = dbtrace; d; d = d->
db_next) {
529 for (d = dbstop; d; d = d->
db_next) {
530 for (dt = d; dt; dt = dt->
db_also) {
545 (void) putc(
'\n',
cp_err);
554 fprintf(
cp_err,
"Stopped after %d steps.\n",
steps);
574 char *
s, *
t,
buf[128];
576 struct dvlist *dvl, *dv, dv0;
591 if (d->db_nodename1) {
597 fprintf(
cp_err,
"Error: can't find %s\n", d->db_nodename1);
604 fprintf(
cp_err,
"Error: can't find %s\n", d->db_nodename1);
607 if (
eq(d->db_nodename1,
"all"))
614 for (dv = dvl; dv; dv = dvl) {
653 int count = 0, icount = 0, i = 0;
661 for (d = dbtrace; d; d = d->
db_next) {
668 for (d = dbiplot; d; d = d->
db_next) {
669 for (dd = d; dd; dd = dd->
db_also) {
677 for (d = dbstop; d; d = d->
db_next) {
678 for (dd = d; dd; dd = dd->
db_also) {
686 for (d = dbsave; d; d = d->
db_next)
695 *savesp = array = (
char **)
tmalloc(
sizeof(
char *) * icount);
698 array[i++] =
copy(
"all");
700 for (d = dbsave; d; d = d->
db_next)
704 for (d = dbtrace; d; d = d->
db_next) {
709 for (d = dbiplot; d; d = d->
db_next) {
719 for (d = dbstop; d; d = d->
db_next) {
737 char *
t, *
tt, *tok,
c;
741 t = strchr(*str,
'@');
744 while (*tt && (isalpha(*tt) || isdigit(*tt) || *tt ==
'_')) tt++;
745 if (*tt && *tt ==
'[') {
747 while (*tt && *tt !=
']') tt++;
770 for (dt = d; dt; dt = dt->
db_also) {
778 (
void)fputs(buf, fp);
804 for (wl = wl0; wl; wl = wl->
wl_next) {
827 for (wl = wl0; wl; wl = wl->
wl_next) {
struct dvec * ft_evaluate()
static char buf[MAXPROMPT]
void com_save(wordlist *wl)
struct pnode * ft_getpnames()
static bool print_trace()
void com_delete(wordlist *wl)
void com_trce(wordlist *wl)
void com_step(wordlist *wl)
struct wordlist * wl_prev
static struct dbcomm * dbstop
void com_iplot(wordlist *wl)
void com_sttus(wordlist *wl)
bool ft_bpcheck(struct plot *runplot, int iteration)
char * SCEDfgets(char *s, int n, FILE *fp, char *prompt)
static struct dbcomm * dbtrace
static struct dbcomm * dbsave
int ft_getSaves(char ***savesp)
void com_stop(wordlist *wl)
struct wordlist * wl_next
void dbfree(struct dbcomm *db)