pike.git / src / builtin_functions.c

version» Context lines:

pike.git/src/builtin_functions.c:3659:    s=begin_wide_shared_string(orig->len, orig->size_shift);    if ((orig->len << orig->size_shift) >= 524288) {    /* More than 512KB. Release the interpreter lock. */    THREADS_ALLOW();    switch(orig->size_shift)    {    case 0:    for(e=0;e<start;e++)    STR0(s)[e]=STR0(orig)[e];    for(;e<end;e++) -  STR0(s)[e]=STR0(orig)[end-1-e-start]; +  STR0(s)[e]=STR0(orig)[end-1-e+start];    for(;e<orig->len;e++)    STR0(s)[e]=STR0(orig)[e];    break;       case 1:    for(e=0;e<start;e++)    STR1(s)[e]=STR1(orig)[e];    for(;e<end;e++) -  STR1(s)[e]=STR1(orig)[end-1-e-start]; +  STR1(s)[e]=STR1(orig)[end-1-e+start];    for(;e<orig->len;e++)    STR1(s)[e]=STR1(orig)[e];    break;       case 2:    for(e=0;e<start;e++)    STR2(s)[e]=STR2(orig)[e];    for(;e<end;e++) -  STR2(s)[e]=STR2(orig)[end-1-e-start]; +  STR2(s)[e]=STR2(orig)[end-1-e+start];    for(;e<orig->len;e++)    STR2(s)[e]=STR2(orig)[e];    break;    }    THREADS_DISALLOW();    } else {    switch(orig->size_shift)    {    case 0:    for(e=0;e<start;e++)    STR0(s)[e]=STR0(orig)[e];    for(;e<end;e++) -  STR0(s)[e]=STR0(orig)[end-1-e-start]; +  STR0(s)[e]=STR0(orig)[end-1-e+start];    for(;e<orig->len;e++)    STR0(s)[e]=STR0(orig)[e];    break;       case 1:    for(e=0;e<start;e++)    STR1(s)[e]=STR1(orig)[e];    for(;e<end;e++) -  STR1(s)[e]=STR1(orig)[end-1-e-start]; +  STR1(s)[e]=STR1(orig)[end-1-e+start];    for(;e<orig->len;e++)    STR1(s)[e]=STR1(orig)[e];    break;       case 2:    for(e=0;e<start;e++)    STR2(s)[e]=STR2(orig)[e];    for(;e<end;e++) -  STR2(s)[e]=STR2(orig)[end-1-e-start]; +  STR2(s)[e]=STR2(orig)[end-1-e+start];    for(;e<orig->len;e++)    STR2(s)[e]=STR2(orig)[e];    break;    }    }    s=low_end_shared_string(s);    pop_n_elems(args);    push_string(s);    break;    }