forked from Mirrors/wine-wine
Remove a redundant test.
Handle 'a','A','e','E','F','g','G' flavours of double arguments.oldstable
parent
bb61fe35a2
commit
b93eb133ad
|
@ -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,10 +392,18 @@ 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)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue