pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:1:   /* -*- c -*- -  * $Id: builtin.cmod,v 1.85 2002/04/24 15:45:06 grubba Exp $ +  * $Id: builtin.cmod,v 1.86 2002/04/28 02:08:30 mast Exp $    */      #include "global.h"   #include "interpret.h"   #include "svalue.h"   #include "opcodes.h"   #include "pike_macros.h"   #include "object.h"   #include "program.h"   #include "array.h"
pike.git/src/builtin.cmod:1185:    size--;       res->item[size].u.object = o;    res->item[size].type = PIKE_T_OBJECT;    res->item[size].subtype = 0;       bf = OBJ2_BACKTRACE_FRAME(o);       if ((bf->prog = f->context.prog)) {    add_ref(bf->prog); -  bf->pc = f->pc + ( (f->flags & PIKE_FRAME_RETURN_INTERNAL) ? -1 : 0); -  +  if (f->pc) { +  if (of && of->flags & PIKE_FRAME_RETURN_INTERNAL) +  /* If the called frame has PIKE_FRAME_RETURN_INTERNAL set +  * then the pc to continue at is stored in f->pc. */ +  bf->pc = f->pc - 1; +  else +  bf->pc = f->pc;    } -  +  }       if ((bf->fun.u.object = f->current_object) &&    (bf->fun.u.object->prog)) {    add_ref(bf->fun.u.object);    bf->fun.subtype = f->fun;    bf->fun.type = PIKE_T_FUNCTION;    function = ID_FROM_INT(f->current_object->prog, f->fun);    } else {    bf->fun.u.integer = 0;    bf->fun.subtype = NUMBER_DESTRUCTED;