diff options
-rw-r--r-- | ext/standard/formatted_print.c | 3 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug22207.phpt | 2 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug28633.phpt | 10 |
3 files changed, 11 insertions, 4 deletions
diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c index f86694e72b..1e71a937d5 100644 --- a/ext/standard/formatted_print.c +++ b/ext/standard/formatted_print.c @@ -398,9 +398,6 @@ php_sprintf_appenddouble(char **buffer, int *pos, numbuf[i] = '\0'; - if (precision > 0) { - width += (precision + 1); - } php_sprintf_appendstring(buffer, pos, size, numbuf, width, 0, padding, alignment, i, sign, 0, always_sign); } diff --git a/ext/standard/tests/strings/bug22207.phpt b/ext/standard/tests/strings/bug22207.phpt index 1623fb8e41..688bb5b744 100644 --- a/ext/standard/tests/strings/bug22207.phpt +++ b/ext/standard/tests/strings/bug22207.phpt @@ -7,5 +7,5 @@ Bug #22207 (missing 0 when using the e notation in *printf functions) ?> --EXPECT-- 1.1000e+0 -string(17) " 1.1000e+0 +string(11) " 1.1000e+0 " diff --git a/ext/standard/tests/strings/bug28633.phpt b/ext/standard/tests/strings/bug28633.phpt new file mode 100644 index 0000000000..5a1c2567fa --- /dev/null +++ b/ext/standard/tests/strings/bug28633.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #28633 (sprintf incorrectly adding padding to floats) +--FILE-- +<?php + echo sprintf("%05.2f", 0.02) . "\n"; + echo sprintf("%05.2f", 2.02) . "\n"; +?> +--EXPECT-- +00.02 +02.02 |