- register TRINFO *tp;
- register NODE *p;
- register int n;
- SYM *s;
- char buff[MAXTRSIZE];
- static LINENO prevline;
-
- for (tp = trhead; tp != NIL; tp = tp->trnext) {
- if (tp->trcond != NIL && !cond(tp->trcond)) {
- continue;
- }
- s = curfunc;
- while (s != NIL && s != tp->trblock) {
- s = container(s);
- }
- if (s == NIL) {
- continue;
- }
- p = tp->trvar;
- if (tp->traddr == (ADDRESS) -1) {
- tp->traddr = lval(p->left);
- }
- n = size(p->nodetype);
- dread(buff, tp->traddr, n);
- if (tp->trvalue == NIL) {
- tp->trvalue = alloc(n, char);
- mov(buff, tp->trvalue, n);
- mov(buff, sp, n);
- sp += n;
- if (tp->trtype == TRPRINT) {
- printf("initially (at line %d):\t", curline);
- prtree(p);
- printf(" = ");
- printval(p->nodetype);
- putchar('\n');
- }
- } else if (cmp(tp->trvalue, buff, n) != 0) {
- mov(buff, tp->trvalue, n);
- mov(buff, sp, n);
- sp += n;
- printf("after line %d:\t", prevline);
- prtree(p);
- printf(" = ");
- printval(p->nodetype);
- putchar('\n');
- if (tp->trtype == TRSTOP) {
- isstopped = TRUE;
- getsrcinfo();
- printstatus();
- }
- }
+ register TRINFO *tp;
+ register NODE *p;
+ register int n;
+ SYM *s;
+ char buff[MAXTRSIZE];
+ static LINENO prevline;
+
+ for (tp = trhead; tp != NIL; tp = tp->trnext) {
+ if (tp->trcond != NIL && !cond(tp->trcond)) {
+ continue;
+ }
+ s = curfunc;
+ while (s != NIL && s != tp->trblock) {
+ s = container(s);