pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
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.
67
1999/11/
04
20
:
05
:
22
hubbe Exp $");
+
RCSID("$Id: operators.c,v 1.
68
1999/11/
05
01
:
31
:
41
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:168:
if(args==1) return; size=0; for(e=-args;e<0;e++) { size+=sp[e].u.string->len; if(sp[e].u.string->size_shift > max_shift) max_shift=sp[e].u.string->size_shift; }
+
if(size == sp[-args].u.string->len)
+
{
+
pop_n_elems(args-1);
+
return;
+
}
+
tmp=sp[-args].u.string->len; r=new_realloc_shared_string(sp[-args].u.string,size,max_shift); sp[-args].type=T_INT; buf=MKPCHARP_STR_OFF(r,tmp); for(e=-args+1;e<0;e++) { pike_string_cpy(buf,sp[e].u.string); INC_PCHARP(buf,sp[e].u.string->len); } sp[-args].u.string=end_shared_string(r);