pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: interpret.c,v 1.141 2000/08/28 22:09:54 hubbe Exp $"); + RCSID("$Id: interpret.c,v 1.142 2000/09/19 15:21:44 grubba Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:1415:   {    JMP_BUF recovery;       sp-=args;    free_svalue(& throw_value);    throw_value.type=T_INT;    if(SETJMP(recovery))    {    if(throw_value.type == T_ARRAY)    { +  static int inside=0; +  if(!inside) +  {    ONERROR tmp; -  +  /* We silently ignore errors if we are already describing one.. */ +  inside=1;    SET_ONERROR(tmp,exit_on_error,"Error in handle_error in master object!");    assign_svalue_no_free(sp++, & throw_value);    APPLY_MASTER("handle_error", 1);    pop_stack();    UNSET_ONERROR(tmp); -  +  inside=0;    } -  +  }       sp->u.integer = 0;    sp->subtype=NUMBER_NUMBER;    sp->type = T_INT;    sp++;    }else{    INT32 expected_stack = sp - evaluator_stack + 1;    sp+=args;    apply_low(o,fun,args);    if(sp - evaluator_stack > expected_stack)