pike.git / src / builtin_functions.c

version» Context lines:

pike.git/src/builtin_functions.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: builtin_functions.c,v 1.636 2007/04/21 12:36:03 grubba Exp $ + || $Id: builtin_functions.c,v 1.637 2007/04/21 20:08:25 grubba Exp $   */      #include "global.h"   #include "interpret.h"   #include "svalue.h"   #include "pike_macros.h"   #include "object.h"   #include "program.h"   #include "array.h"   #include "pike_error.h"
pike.git/src/builtin_functions.c:2266:    *!    *! @returns    *! Returns a continuation type on success.    *!    *! Returns @tt{0@} (zero) on failure.    */   static void f___low_check_call(INT32 args)   {    struct pike_type *res;    INT32 flags = 0; +  struct svalue *sval = NULL;    if (args < 2) Pike_error("Bad number of arguments to __low_check_call().\n");    if (Pike_sp[-args].type != PIKE_T_TYPE) {    Pike_error("Bad argument 1 to __low_check_call() expected type.\n");    }    if (Pike_sp[1-args].type != PIKE_T_TYPE) {    Pike_error("Bad argument 2 to __low_check_call() expected type.\n");    }    if (args > 2) {    if (Pike_sp[2-args].type != PIKE_T_INT) {    Pike_error("Bad argument 3 to __low_check_call() expected int.\n");    }    flags = Pike_sp[2-args].u.integer;    } -  +  if (args > 3) sval = Pike_sp + 3 - args;    if (!(res = low_new_check_call(Pike_sp[-args].u.type, -  Pike_sp[1-args].u.type, flags))) { +  Pike_sp[1-args].u.type, flags, sval))) {    pop_n_elems(args);    push_undefined();    } else {    pop_n_elems(args);    push_type_value(res);    }   }      /*! @decl type __get_return_type(type fun_type)    *!
pike.git/src/builtin_functions.c:9202:       ADD_EFUN("__parse_pike_type", f_parse_pike_type,    tFunc(tStr8,tStr8),OPT_TRY_OPTIMIZE);       ADD_EFUN("__soft_cast", f___soft_cast,    tFunc(tSetvar(0, tType(tMix)) tSetvar(1, tType(tMix)),    tAnd(tVar(0), tVar(1))),    OPT_TRY_OPTIMIZE);       ADD_EFUN("__low_check_call", f___low_check_call, -  tFunc(tType(tCallable) tType(tMix) tOr(tInt,tVoid), +  tFunc(tType(tCallable) tType(tMix) tOr(tInt,tVoid) tOr(tMix,tVoid),    tType(tCallable)),    OPT_TRY_OPTIMIZE);       /* FIXME: Could have a stricter type. */    ADD_EFUN("__get_return_type", f___get_return_type,    tFunc(tType(tCallable), tType(tMix)),    OPT_TRY_OPTIMIZE);       /* FIXME: Could have a stricter type. */    ADD_EFUN("__get_first_arg_type", f___get_first_arg_type,