8 Feb
2008
8 Feb
'08
12:42 p.m.
On 08/02/2008, Dmitry Timoshkov <dmitry(a)codeweavers.com> wrote:
"Maarten Lankhorst" <m.b.lankhorst(a)gmail.com> wrote:
+ retval = GetWindowModuleFileNameW(hwnd, filenameW, cchFileNameMax); + if (retval) + { + DWORD lasterror = GetLastError(); + WideCharToMultiByte(CP_ACP, 0, filenameW, -1, lpszFileName, cchFileNameMax, NULL, NULL); + SetLastError(lasterror);
What's the point of saving/restoring last error value? If WideCharToMultiByte fails you need to return an error in that case, not silently continue.
The usual model is something like this: SetLastError(0xdeadbeef); WinApiCall(); ok(GetLastError() == ERROR_SUCCESS, "WinApiCall failed, expected ERROR_SUCCESS, got %d", GetLastError()); - Reece