summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/formatted_print.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c
index fc064aac69..81dc808948 100644
--- a/ext/standard/formatted_print.c
+++ b/ext/standard/formatted_print.c
@@ -159,6 +159,10 @@ php_sprintf_appendstring(char **buffer, int *pos, int *size, char *add,
{
register int npad;
+ if (max_width && min_width) {
+ expprec = max_width = 0;
+ }
+
npad = min_width - MIN(len, (expprec ? max_width : len));
if (npad < 0) {
@@ -605,10 +609,10 @@ php_formatted_print(int ht, int *len, int use_array TSRMLS_DC)
convert_to_string_ex(args[argnum]);
php_sprintf_appendstring(&result, &outpos, &size,
Z_STRVAL_PP(args[argnum]),
- width, 0, padding,
+ width, precision, padding,
alignment,
Z_STRLEN_PP(args[argnum]),
- 0, 0);
+ 0, expprec);
break;
case 'd':