Commit b6d331d6 authored by Rein Klazes's avatar Rein Klazes Committed by Alexandre Julliard

Fix decoding printf format in case the field width specifier is a '*'.

parent 8acdd0ba
...@@ -399,6 +399,7 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist ) ...@@ -399,6 +399,7 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist )
LPCWSTR q, p = format; LPCWSTR q, p = format;
pf_flags flags; pf_flags flags;
TRACE("format is %s\n",debugstr_w(format));
while (*p) while (*p)
{ {
q = strchrW( p, '%' ); q = strchrW( p, '%' );
...@@ -455,7 +456,10 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist ) ...@@ -455,7 +456,10 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist )
/* deal with the field width specifier */ /* deal with the field width specifier */
flags.FieldLength = 0; flags.FieldLength = 0;
if( *p == '*' ) if( *p == '*' )
{
flags.FieldLength = va_arg( valist, int ); flags.FieldLength = va_arg( valist, int );
p++;
}
else while( isdigit(*p) ) else while( isdigit(*p) )
{ {
flags.FieldLength *= 10; flags.FieldLength *= 10;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment