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.105 2000/09/26 02:49:11 hedda Exp $"); + RCSID("$Id: operators.c,v 1.106 2000/09/26 03:17:04 hedda 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:1698:    asize=((int)(double)(sp[-2].u.string->len * (int)sp[-1].u.float_number))+    extra;    ret=begin_wide_shared_string(asize,    sp[-2].u.string->size_shift);    pos=ret->str;    len=sp[-2].u.string->len << sp[-2].u.string->size_shift;    for(e=0;e<((int)sp[-1].u.float_number);e++,pos+=len)    MEMCPY(pos,sp[-2].u.string->str,len);    /* copy the last part of the string */    if (extra) +  { +  extra=extra << sp[-2].u.string->size_shift;    MEMCPY(pos,sp[-2].u.string->str,extra); -  +  }    pop_n_elems(2);    push_string(low_end_shared_string(ret));    return;    }          case TWO_TYPES(T_STRING, T_INT):    {    struct pike_string *ret;    char *pos;