pike.git / src / modules / _Roxen / roxen.c

version» Context lines:

pike.git/src/modules/_Roxen/roxen.c:485:    switch( Pike_sp[-1].type )    {    void o_cast_to_string();       case PIKE_T_INT:    /* Optimization, this is basically a inlined cast_int_to_string */    {    char buf[21], *b = buf+19;    int neg, j=0;    INT_TYPE i = Pike_sp[-1].u.integer; -  pop_stack(); +     if( i < 0 )    {    neg = 1;    i = -i; -  +  if (i < 0) { +  /* The largest negative number cannot be negated. */ +  o_cast_to_string(); +  return;    } -  +  }    else    neg = 0; -  +  pop_stack();       buf[20] = 0;       while( i >= 10 )    {    b[ -j++ ] = '0'+(i%10);    i /= 10;    }    b[ -j++ ] = '0'+(i%10);    if( neg ) b[ -j++ ] = '-';