pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:1477:
if(!args) { SIMPLE_TOO_FEW_ARGS_ERROR("`+", 1); }else{ if(types & BIT_OBJECT) { struct object *o; struct program *p; int i;
-
if (args == 1)
-
return;
-
+
if(TYPEOF(sp[-args]) == T_OBJECT && sp[-args].u.object->prog) { /* The first argument is an object. */ o = sp[-args].u.object; p = o->prog->inherits[SUBTYPEOF(sp[-args])].prog; if(o->refs==1 && (i = FIND_LFUN(p, LFUN_ADD_EQ)) != -1) { apply_low(o, i, args-1); stack_pop_keep_top();