pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: interpret.c,v 1.356 2004/10/16 07:27:29 agehall Exp $ + || $Id: interpret.c,v 1.357 2004/10/22 23:23:51 nilsson Exp $   */      #include "global.h"   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"
pike.git/src/interpret.c:2209:    if (use_dummy_reference) {    Pike_compiler->new_program->num_identifier_references--;    o->prog->flags = p_flags;    }       POP_PIKE_FRAME();       return ret;   }    + PMOD_EXPORT void safe_apply_low3(struct object *o,int fun,int args, char *error) + { +  JMP_BUF recovery; +  free_svalue(& throw_value); +  throw_value.type=T_INT; +  if(SETJMP_SP(recovery, args)) +  { +  handle_compile_exception(error); +  }else{ +  apply_low(o,fun,args); +  } +  UNSETJMP(recovery); + } +    PMOD_EXPORT void safe_apply_low2(struct object *o,int fun,int args, int handle_errors)   {    JMP_BUF recovery;       free_svalue(& throw_value);    throw_value.type=T_INT;    if(SETJMP_SP(recovery, args))    {    if(handle_errors) call_handle_error();    push_int(0);