// This is debug.cc CVS version: $Id: debug.cc,v 1.3 2000/04/30 18:32:20 andreaha Exp $
#include "eng.h"

/************************************************************************/
/* DEbug                                                                */
/************************************************************************/

/****/ /* WARNING! NO DPUSH/DPOP HERE! */ /****/

DEbug::DEbug(char *c) {

  comment = 0;
  pushsignature = dpushcnt;

  if (debugcount > 0) {
#ifdef DOUTPUT
    printf("\n");
    printf("%#010x| ", debugcount);
    for (int i = 0; i < dpushcnt; i++)
      printf(" ");
    printf("%s %#010x {", c, (int)this);
#endif
    dpushcnt += 2;
    
    strcpy(funcname, c);
  }
  next = NULL;
  debugcount++;
}

DEbug::~DEbug() {

  if (((dpushcnt - 2) >  pushsignature) || comment) {
#ifdef DOUTPUT
    if (!comment) printf("\n");
    printf("%#010x| ", debugcount++);
    for (int i = 0; i < dpushcnt - 2; i++)
      printf(" ");
    printf("} %#010x",(int)this);
#endif
  } else {
#ifdef DOUTPUT
    if (dpushcnt > 2)
      printf("}");
#endif
  }

  comment = 0;
  dpushcnt -= 2;
}



