# 2.11BSD#431 - /usr/src/ucb/PORT/pascal/pdx/breakpoint/fixbps.c

##### Functions

    fixbps            X

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

#### Defined functions

fixbps defined in line 21; used 1 times

- in /usr/src/ucb/PORT/pascal/pdx/breakpoint/bp.c line 132

#### Defined variables

sccsid defined in line 8; never used

Last modified: 1985-06-06 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 765 |