On 08/02/2008, Dmitry Timoshkov <[EMAIL PROTECTED]> wrote:
> "Maarten Lankhorst" <[EMAIL PROTECTED]> 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


Reply via email to