diff options
author | Daniel Stenberg <daniel@haxx.se> | 2007-11-20 10:03:33 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2007-11-20 10:03:33 +0000 |
commit | 2f928797cf18d41d4ae0114958cfedac3fcd6c13 (patch) | |
tree | b90f1358face05c76a91e478ed04cf3feec9c70e | |
parent | f3f06e823c7bc912094f5a7b63bf480fc191e211 (diff) |
fix the treatment of the parameter-based precision, as in "%.*s%s" as
previously the second %s would wrongly get the numerical argument that is used
for the variable precision for the first %s...
-rw-r--r-- | lib/mprintf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/mprintf.c b/lib/mprintf.c index b3fc33922..bba1a6481 100644 --- a/lib/mprintf.c +++ b/lib/mprintf.c @@ -686,8 +686,11 @@ static int dprintf_formatf( width = p->width; /* pick up the specified precision */ - if(p->flags & FLAGS_PRECPARAM) + if(p->flags & FLAGS_PRECPARAM) { prec = vto[p->precision].data.num; + param_num++; /* since the precision is extraced from a parameter, we + must skip that to get to the next one properly */ + } else if(p->flags & FLAGS_PREC) prec = p->precision; else |