Module: wine Branch: oldstable Commit: ecf072aaa7ad998626fdb68608da78593dd6da96 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ecf072aaa7ad998626fdb6860...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Nov 26 15:26:27 2020 +0100
msvcrt: Don't write Unicode BOM if file is not empty in _wsopen_dispatch.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 00a024725e86f3dd3f8bb52849fd2597bbf58d40) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/msvcrt/file.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 825d442bfa8..d5aff642904 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -2301,9 +2301,14 @@ int CDECL MSVCRT__wsopen_dispatch( const MSVCRT_wchar_t* path, int oflags, int s
if (oflags & (MSVCRT__O_WTEXT|MSVCRT__O_U16TEXT|MSVCRT__O_U8TEXT)) { + LARGE_INTEGER size = {{0}}; + + if ((access & GENERIC_WRITE) && (creation==OPEN_EXISTING || creation==OPEN_ALWAYS)) + GetFileSizeEx(hand, &size); + if ((access & GENERIC_WRITE) && (creation==CREATE_NEW || creation==CREATE_ALWAYS || creation==TRUNCATE_EXISTING - || (creation==OPEN_ALWAYS && GetLastError()==ERROR_ALREADY_EXISTS))) + || ((creation==OPEN_EXISTING || creation==OPEN_ALWAYS) && !size.QuadPart))) { if (oflags & MSVCRT__O_U8TEXT) {