Annotation of 42BSD/ucb/pascal/pdx/breakpoint/fixbps.c, revision 1.1.1.1

1.1       root        1: /* Copyright (c) 1982 Regents of the University of California */
                      2: 
                      3: static char sccsid[] = "@(#)fixbps.c 1.1 1/18/82";
                      4: 
                      5: /*
                      6:  * fix up breakpoint information before continuing execution
                      7:  *
                      8:  * It's necessary to destroy breakpoints that were created temporarily
                      9:  * and still exist because the program terminated abnormally.
                     10:  */
                     11: 
                     12: #include "defs.h"
                     13: #include "breakpoint.h"
                     14: #include "bp.rep"
                     15: 
                     16: fixbps()
                     17: {
                     18:        register BPINFO *p, *last, *next;
                     19: 
                     20:        last = NIL;
                     21:        p = bphead;
                     22:        while (p != NIL) {
                     23:                next = p->bpnext;
                     24:                switch(p->bptype) {
                     25:                        case ALL_OFF:
                     26:                                if (p->bpline >= 0) {
                     27:                                        --tracing;
                     28:                                } else {
                     29:                                        --inst_tracing;
                     30:                                }
                     31:                                if (p->bpcond != NIL) {
                     32:                                        delcond(TRPRINT, p->bpcond);
                     33:                                }
                     34:                                goto delete;
                     35: 
                     36:                        case STOP_OFF:
                     37:                                var_tracing--;
                     38:                                delcond(TRSTOP, p->bpcond);
                     39:                                goto delete;
                     40: 
                     41:                        case TERM_OFF:
                     42:                                --var_tracing;
                     43:                                delvar(TRPRINT, p->bpnode, p->bpcond);
                     44:                                goto delete;
                     45: 
                     46:                        case CALL:
                     47:                        case RETURN:
                     48:                        case BLOCK_OFF:
                     49:                        case CALLPROC:
                     50:                        case END_BP:
                     51: 
                     52:                        delete:
                     53:                                if (last == NIL) {
                     54:                                        bphead = next;
                     55:                                } else {
                     56:                                        last->bpnext = next;
                     57:                                }
                     58:                                dispose(p);
                     59:                                break;
                     60: 
                     61:                        default:
                     62:                                last = p;
                     63:                                break;
                     64:                }
                     65:                p = next;
                     66:        }
                     67:        tracing = 0;
                     68:        var_tracing = 0;
                     69:        inst_tracing = 0;
                     70:        trfree();
                     71:        condfree();
                     72: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.