Merge pull request #15679 from bruvzg/fix_itos_on_int64_min

Fix String::itos/String::num_int64(INT64_MIN) output.
This commit is contained in:
Rémi Verschelde 2018-01-13 21:25:43 +01:00 committed by GitHub
commit 6a4521da2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1098,9 +1098,8 @@ String String::num(double p_num, int p_decimals) {
String String::num_int64(int64_t p_num, int base, bool capitalize_hex) {
bool sign = p_num < 0;
int64_t num = ABS(p_num);
int64_t n = num;
int64_t n = p_num;
int chars = 0;
do {
@ -1114,9 +1113,9 @@ String String::num_int64(int64_t p_num, int base, bool capitalize_hex) {
s.resize(chars + 1);
CharType *c = s.ptrw();
c[chars] = 0;
n = num;
n = p_num;
do {
int mod = n % base;
int mod = ABS(n % base);
if (mod >= 10) {
char a = (capitalize_hex ? 'A' : 'a');
c[--chars] = a + (mod - 10);