From d0868a8f402fea0d0e56f3903dccc0b51f19f3e0 Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Sat, 13 Jan 2018 22:04:30 +0200 Subject: [PATCH] Fix String::itos/String::num_int64(INT64_MIN) output. --- core/ustring.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/ustring.cpp b/core/ustring.cpp index 528ecc52db..1be828c44a 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -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);