pike.git / src / error.c

version» Context lines:

pike.git/src/error.c:9:   #include "interpret.h"   #include "stralloc.h"   #include "builtin_functions.h"   #include "array.h"   #include "object.h"   #include "main.h"   #include "builtin_functions.h"   #include "backend.h"   #include "operators.h"    - RCSID("$Id: error.c,v 1.22 1998/11/22 11:02:44 hubbe Exp $"); + RCSID("$Id: error.c,v 1.23 1999/01/31 09:01:45 hubbe Exp $");      #undef ATTRIBUTE   #define ATTRIBUTE(X)      JMP_BUF *recoveries=0;      JMP_BUF *init_recovery(JMP_BUF *r DEBUG_LINE_ARGS)   {   #ifdef PIKE_DEBUG    r->line=line;
pike.git/src/error.c:55:    if(!recoveries)    fatal("No error recovery context.\n");      #ifdef PIKE_DEBUG    if(sp - evaluator_stack < recoveries->sp)    fatal("Stack error in error.\n");   #endif       while(fp != recoveries->fp)    { +  struct pike_frame *tmp=fp;   #ifdef PIKE_DEBUG    if(!fp)    fatal("Popped out of stack frames.\n");   #endif -  free_object(fp->current_object); -  free_program(fp->context.prog); -  if(fp->context.parent) -  free_object(fp->context.parent); -  -  fp = fp->parent_frame; +  fp = tmp->next; +  tmp->next=0; +  free_pike_frame(tmp);    }       pop_n_elems(sp - evaluator_stack - recoveries->sp);    mark_sp = mark_stack + recoveries->mark_sp;       while(recoveries->onerror)    {    (*recoveries->onerror->func)(recoveries->onerror->arg);    recoveries->onerror=recoveries->onerror->previous;    }