riched20: Implement ITextDocument_fnOpen. (try 2)

Nikolay Sivov bunglehead at gmail.com
Mon Nov 18 06:30:59 CST 2013


On 11/18/2013 16:02, Jactry Zeng wrote:
> update:
> 1. Use 0 in HeapAlloc instead of HEAP_ZERO_MEMORY;
> 2. Return an E_OUTOFMEMORY instead of HRESULT_FROM_WIN32(GetLastError())
> when HeapAlloc fail.

> +    FIXME("Don't support UTF-16.\n");
How is supposed to be handled?
> +    FIXME("Partial stub! Don't support flag: 0x%x\n", Flags);
At least some flags are easy to support mapping them to sharing and 
creation disposition modes.

> +    chBuffer = HeapAlloc(GetProcessHeap(), 0, size+1);
> +    if(!chBuffer)
> +    {
> +        CloseHandle(hFile);
> +        return E_OUTOFMEMORY;
> +    }
> +
> +    if(!ReadFile(hFile, chBuffer, size, &dwReadSize, NULL))
> +    {
> +        CloseHandle(hFile);
> +        HeapFree(GetProcessHeap(), 0, chBuffer);
> +        return HRESULT_FROM_WIN32(GetLastError());
> +    }
> +    chBuffer[size] = 0;
How will it work for UTF-16 input?
> +    SendMessageW(This->editor->hWnd, EM_SETTEXTEX, (int)&settextex, (LPARAM)chBuffer);
> +    CloseHandle(hFile);
> +
> +    return S_OK;
Looks like you leak a buffer.





More information about the wine-devel mailing list