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.   \*/   /**/   #include "global.h" - RCSID("$Id: interpret.c,v 1.266 2002/09/14 03:32:45 mast Exp $"); + RCSID("$Id: interpret.c,v 1.267 2002/09/21 18:17:03 mast Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:1600: Inside #if 0
   fprintf(stderr, "low_unsafe_apply_handler(\"%s\", 0x%08p, 0x%08p, %d)\n",    fun, handler, compat, args);   #endif /* 0 */    if (handler && handler->prog &&    (i = find_identifier(fun, handler->prog)) != -1) {    apply_low(handler, i, args);    } else if (compat && compat->prog &&    (i = find_identifier(fun, compat->prog)) != -1) {    apply_low(compat, i, args);    } else { -  struct object *master_obj = master(); -  if ((i = find_identifier(fun, master_obj->prog)) != -1) +  struct object *master_obj = get_master(); +  if (master_obj && (i = find_identifier(fun, master_obj->prog)) != -1)    apply_low(master_obj, i, args);    else {    pop_n_elems(args);    push_undefined();    return 0;    }    }    return 1;   }   
pike.git/src/interpret.c:1662:    Pike_sp-=args;    free_svalue(& throw_value);    throw_value.type=T_INT;       if (SETJMP(recovery))    ret = 0;    else {    Pike_sp += args;       if (low_unsafe_apply_handler (fun, handler, compat, args) && -  rettypes && -  !(((1 << Pike_sp[-1].type) & rettypes) || -  ((rettypes & BIT_ZERO) && -  Pike_sp[-1].type == T_INT && -  Pike_sp[-1].u.integer == 0))) { +  rettypes && !((1 << Pike_sp[-1].type) & rettypes)) { +  if ((rettypes & BIT_ZERO) && SAFE_IS_ZERO (Pike_sp - 1)) { +  pop_stack(); +  push_int(0); +  } +  else {    push_constant_text("Invalid return value from %s: %O\n");    push_text(fun);    push_svalue(Pike_sp - 3);    f_sprintf(3);    if (!Pike_sp[-1].u.string->size_shift)    Pike_error("%s", Pike_sp[-1].u.string->str);    else    Pike_error("Invalid return value from %s\n", fun);    } -  +  }       ret = 1;    }       UNSETJMP(recovery);    return ret;   }      PMOD_EXPORT void apply_lfun(struct object *o, int fun, int args)   {