Don't mess up with the stack nor leak resources

svn path=/trunk/; revision=67760
This commit is contained in:
Pierre Schweitzer 2015-05-16 10:08:00 +00:00
parent eb981b9f25
commit b2c0d6a7f3

View file

@ -127,28 +127,34 @@ void FormatOutput(UINT uID, ...)
UINT DataLength;
int AnsiLength;
va_start(valist, uID);
if (!LoadString(GetModuleHandle(NULL), uID,
Format, sizeof(Format) / sizeof(WCHAR)))
{
return;
}
va_start(valist, uID);
DataLength = FormatMessage(FORMAT_MESSAGE_FROM_STRING, Format, 0, 0, Buf,\
sizeof(Buf) / sizeof(WCHAR), &valist);
if(!DataLength)
{
if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
va_end(valist);
return;
}
DataLength = FormatMessage(FORMAT_MESSAGE_FROM_STRING |\
FORMAT_MESSAGE_ALLOCATE_BUFFER,\
Format, 0, 0, (LPWSTR)&pBuf, 0, &valist);
}
if(!DataLength)
return;
if(!DataLength)
{
va_end(valist);
return;
}
if(GetFileType(hStdOutput) == FILE_TYPE_CHAR)