]> granicus.if.org Git - php/commitdiff
Fixed bug #28633 (sprintf incorrectly adding padding to floats).
authorIlia Alshanetsky <iliaa@php.net>
Sun, 18 Jul 2004 17:27:49 +0000 (17:27 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 18 Jul 2004 17:27:49 +0000 (17:27 +0000)
ext/standard/formatted_print.c
ext/standard/tests/strings/bug22207.phpt
ext/standard/tests/strings/bug28633.phpt [new file with mode: 0644]

index f86694e72b2e7cbe69e7ebffbbc7b9e932727f6a..1e71a937d520b395fe0bf321e92ebdec3bd63a3b 100644 (file)
@@ -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);
 }
index 1623fb8e41a0a771e18e8cfc21ee6993d651df71..688bb5b74493ea2f8fd2a0246b589284d0b74ac6 100644 (file)
@@ -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 (file)
index 0000000..5a1c256
--- /dev/null
@@ -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