pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.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: operators.c,v 1.175 2003/04/17 22:51:13 mast Exp $ + || $Id: operators.c,v 1.176 2003/04/27 17:52:42 mast Exp $   */      #include "global.h"   #include <math.h> - RCSID("$Id: operators.c,v 1.175 2003/04/17 22:51:13 mast Exp $"); + RCSID("$Id: operators.c,v 1.176 2003/04/27 17:52:42 mast 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:244:    SIMPLE_TOO_FEW_ARGS_ERROR("`+", 1);    }else{    if(types & BIT_OBJECT)    {    if(sp[-args].type == T_OBJECT && sp[-args].u.object->prog)    {    if(sp[-args].u.object->refs==1 &&    FIND_LFUN(sp[-args].u.object->prog,LFUN_ADD_EQ) != -1)    {    apply_lfun(sp[-args].u.object, LFUN_ADD_EQ, args-1); -  stack_unlink(1); +  stack_pop_keep_top();    return;    }    if(FIND_LFUN(sp[-args].u.object->prog,LFUN_ADD) != -1)    {    apply_lfun(sp[-args].u.object, LFUN_ADD, args-1);    free_svalue(sp-2);    sp[-2]=sp[-1];    sp--;    dmalloc_touch_svalue(sp);    return;