pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:1591:    break;    }       case BIT_STRING | BIT_INT:    case BIT_STRING | BIT_FLOAT:    case BIT_STRING | BIT_FLOAT | BIT_INT:    {    struct pike_string *r;    PCHARP buf;    char buffer[MAX_NUM_BUF]; -  int max_shift=0; +  int max_shift=0, len;       if ((TYPEOF(sp[-args]) != T_STRING) && (TYPEOF(sp[1-args]) != T_STRING)) {    struct svalue *save_sp = sp;    /* We need to perform a normal addition first.    */    for (e=-args; e < 0; e++) {    if (TYPEOF(save_sp[e]) == T_STRING)    break;    *(sp++) = save_sp[e];    dmalloc_touch_svalue(Pike_sp-1);
pike.git/src/operators.c:1686:    if (!strchr (buffer, '.') && !strchr (buffer, 'e'))    strcat (buffer, ".0");   #ifdef PIKE_DEBUG    if (strlen (buffer) > MAX_FLOAT_SPRINTF_LEN)    Pike_fatal ("Formatted float %s is %"PRINTSIZET"u, "    "longer than assumed max %"PRINTSIZET"u.\n",    buffer, strlen (buffer), MAX_FLOAT_SPRINTF_LEN);   #endif       append_buffer: +  len = strlen(buffer);    switch(max_shift)    {    case 0: -  convert_0_to_0((p_wchar0 *)buf.ptr,buffer,strlen(buffer)); +  convert_0_to_0((p_wchar0 *)buf.ptr,buffer,len);    break;       case 1: -  convert_0_to_1((p_wchar1 *)buf.ptr,(p_wchar0 *)buffer, -  strlen(buffer)); +  convert_0_to_1((p_wchar1 *)buf.ptr,(p_wchar0 *)buffer,len);    break;       case 2: -  convert_0_to_2((p_wchar2 *)buf.ptr,(p_wchar0 *)buffer, -  strlen(buffer)); +  convert_0_to_2((p_wchar2 *)buf.ptr,(p_wchar0 *)buffer,len);    break; -  +     } -  INC_PCHARP(buf,strlen(buffer)); +  INC_PCHARP(buf,len);    }    }    r = realloc_unlinked_string(r, SUBTRACT_PCHARP(buf, MKPCHARP_STR(r)));    r = low_end_shared_string(r);    pop_n_elems(args);    push_string(r);    break;    }       case BIT_INT: