summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/formatted_print.c3
-rw-r--r--ext/standard/tests/strings/bug22207.phpt2
-rw-r--r--ext/standard/tests/strings/bug28633.phpt10
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