Advance over * argument for precision.
Honor precision argument for strings.
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 9eb1f9a..d400f1e 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -309,6 +309,9 @@
if( len < 0 )
len = strlenW( str );
+ if (flags->Precision && flags->Precision < len)
+ len = flags->Precision;
+
r = pf_fill( out, len, flags, 1 );
if( r>=0 )
@@ -328,6 +331,9 @@
if( len < 0 )
len = strlen( str );
+ if (flags->Precision && flags->Precision < len)
+ len = flags->Precision;
+
r = pf_fill( out, len, flags, 1 );
if( r>=0 )
@@ -461,7 +467,10 @@
{
p++;
if( *p == '*' )
+ {
flags.Precision = va_arg( valist, int );
+ p++;
+ }
else while( isdigit(*p) )
{
flags.Precision *= 10;