pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.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"   #include <math.h> - RCSID("$Id: operators.c,v 1.85 2000/02/03 19:09:12 grubba Exp $"); + RCSID("$Id: operators.c,v 1.86 2000/03/01 08:40:52 hubbe Exp $");   #include "interpret.h"   #include "svalue.h"   #include "multiset.h"   #include "mapping.h"   #include "array.h"   #include "stralloc.h"   #include "opcodes.h"   #include "operators.h"   #include "language.h"   #include "pike_memory.h"
pike.git/src/operators.c:122:    {    if(sp[e-args].type == T_OBJECT &&    sp[e-args].u.object->prog &&    FIND_LFUN(sp[e-args].u.object->prog,LFUN_RADD) != -1)    {    struct svalue *tmp=sp+e-args;    check_stack(e);    assign_svalues_no_free(sp, sp-args, e, -1);    sp+=e;    apply_lfun(tmp->u.object, LFUN_RADD, e); -  if(args - e > 2) +  if(args - e > 1)    {    assign_svalue(tmp, sp-1);    pop_stack();    f_add(args - e);    assign_svalue(sp-e-1,sp-1);    pop_n_elems(e);    }else{    assign_svalue(sp-args-1,sp-1);    pop_n_elems(args);    }