summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-10-02 10:26:15 +0200
committerGitHub <noreply@github.com>2020-10-02 10:26:15 +0200
commita1c27228ae6c160391133a0894880d977058da8f (patch)
tree8c1fceae940c1822410a7510816436bd7effbb60 /core
parent6189ff8608a2da247a6f888e10d5de2a177144e6 (diff)
parent9f2cdfea8261fae28dbd45a74195b9cff4db6dd5 (diff)
Merge pull request #42480 from ssw99/sprintf-function-bug-fix
Fix extra padding for numbers with signs
Diffstat (limited to 'core')
-rw-r--r--core/ustring.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/ustring.cpp b/core/ustring.cpp
index d5afbc2b47..0033c31e20 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -4484,11 +4484,12 @@ String String::sprintf(const Array &values, bool *error) const {
int number_len = str.length();
// Padding.
+ int pad_chars_count = (value < 0 || show_sign) ? min_chars - 1 : min_chars;
String pad_char = pad_with_zeroes ? String("0") : String(" ");
if (left_justified) {
- str = str.rpad(min_chars, pad_char);
+ str = str.rpad(pad_chars_count, pad_char);
} else {
- str = str.lpad(min_chars, pad_char);
+ str = str.lpad(pad_chars_count, pad_char);
}
// Sign.