pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:3590:    if (val > mul_limit || (val == mul_limit && xx > add_limit))    overflow = 1;    else    val = base * val + xx;    }       if(ptr != 0)    *ptr = str;       if (overflow) { - #ifdef AUTO_BIGNUM +     push_string(make_shared_binary_pcharp(str_start,    SUBTRACT_PCHARP(str,str_start)));    /* Note that this can conceivably throw errors()    * in some situations that might not be desirable...    * take care.    * /Hubbe    *    * It could probably also be faster...    */    push_int(base);    convert_stack_top_with_base_to_bignum();    if(neg) o_negate();       *r = *--Pike_sp;    dmalloc_touch_svalue (r); - #else /* !AUTO_BIGNUM */ -  r->u.integer = neg ? MIN_INT_TYPE : MAX_INT_TYPE; - #endif +     }    else {    if (neg)    r->u.integer = val > (unsigned INT_TYPE) MAX_INT_TYPE ?    -(INT_TYPE) (val - (unsigned INT_TYPE) MAX_INT_TYPE) - MAX_INT_TYPE :    -(INT_TYPE) val;    else    r->u.integer = (INT_TYPE) val;    }