pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
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: