Fix compilation with (all versions of) MinGW

Commit 320b16110f changed the arguments
of swprintf to be compliant with latest MinGW-w64 headers: The headers now
excludes the non-standard swprintf(wchar*t,wchar_t*,...) version for C++11.

However, the swprintf(wchar_t*,size_t,wchar_t*,...) version is actually
not supported by e.g. stock Mingw-32 from mingw.org.

Instead, use _snwprintf(wchar_t*,size_t,wchar_t*,...), which both
MSVC, and all MinGW versions should support.

Task-number: QTBUG-28520
Change-Id: Icadd11773a25143e46a72c898adfd1c324f9c468
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Kai Koehne 2012-12-11 10:46:56 +01:00 committed by The Qt Project
parent 529110343d
commit cf728e60a7

View File

@ -82,7 +82,7 @@ static void qt_create_pipe(Q_PIPE *pipe, bool isInputPipe)
forever {
// ### The user must make sure to call qsrand() to make the pipe names less predictable.
// ### Replace the call to qrand() with a secure version, once we have it in Qt.
swprintf(pipeName, sizeof(pipeName) / sizeof(pipeName[0]),
_snwprintf(pipeName, sizeof(pipeName) / sizeof(pipeName[0]),
L"\\\\.\\pipe\\qt-%X", qrand());
DWORD dwPipeFlags = PIPE_TYPE_BYTE | PIPE_WAIT;