Commit b93eb133 authored by Jon Griffiths's avatar Jon Griffiths Committed by Alexandre Julliard

Remove a redundant test.

Handle 'a','A','e','E','F','g','G' flavours of double arguments.
parent bb61fe35
...@@ -320,7 +320,6 @@ int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist) ...@@ -320,7 +320,6 @@ int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
*iter == '+' || *iter == '+' ||
*iter == '-' || *iter == '-' ||
*iter == ' ' || *iter == ' ' ||
*iter == '0' ||
*iter == '*' || *iter == '*' ||
*iter == '#') *iter == '#')
{ {
...@@ -393,11 +392,19 @@ int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist) ...@@ -393,11 +392,19 @@ int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
{ {
*fmta++ = *iter; *fmta++ = *iter;
*fmta = '\0'; *fmta = '\0';
if (*iter == 'f') if (*iter == 'a' || *iter == 'A' ||
*iter == 'e' || *iter == 'E' ||
*iter == 'f' || *iter == 'F' ||
*iter == 'g' || *iter == 'G')
sprintf(bufaiter, fmtbufa, va_arg(valist, double)); sprintf(bufaiter, fmtbufa, va_arg(valist, double));
else else
{
/* FIXME: On 32 bit systems this doesn't handle int 64's.
* on 64 bit systems this doesn't work for 32 bit types
*/
sprintf(bufaiter, fmtbufa, va_arg(valist, void *)); sprintf(bufaiter, fmtbufa, va_arg(valist, void *));
} }
}
while (*bufaiter) while (*bufaiter)
{ {
if (written++ >= len) if (written++ >= len)
......
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