From c07a867325efef87a9febebea67a71fc8fe7b85d Mon Sep 17 00:00:00 2001 From: "theanomaly.is@gmail.com" Date: Mon, 9 Apr 2012 11:49:02 -0400 Subject: [PATCH] Apostrophe modifier in *printf is broken Bug #61532 --- ext/standard/formatted_print.c | 2 +- ext/standard/tests/strings/bug61532.phpt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/strings/bug61532.phpt diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c index 5623a3755b34d..9464fa27f7160 100644 --- a/ext/standard/formatted_print.c +++ b/ext/standard/formatted_print.c @@ -466,7 +466,7 @@ php_formatted_print(int ht, int *len, int use_array, int format_offset TSRMLS_DC "sprintf: now looking at '%c', inpos=%d\n", format[inpos], inpos)); for (;; inpos++) { - if (format[inpos] == ' ' || format[inpos] == '0') { + if ((format[inpos] == ' ' || format[inpos] == '0') && padding == ' ') { padding = format[inpos]; } else if (format[inpos] == '-') { alignment = ALIGN_LEFT; diff --git a/ext/standard/tests/strings/bug61532.phpt b/ext/standard/tests/strings/bug61532.phpt new file mode 100644 index 0000000000000..452be8eb563bd --- /dev/null +++ b/ext/standard/tests/strings/bug61532.phpt @@ -0,0 +1,10 @@ +--TEST-- +printf custom padding modiffier bug #61532 +--FILE-- + +--EXPECT-- +......foo +......foo