Module: wine Branch: master Commit: 00a024725e86f3dd3f8bb52849fd2597bbf58d40 URL: https://source.winehq.org/git/wine.git/?a=commit;h=00a024725e86f3dd3f8bb5284...
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
---
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 1cf778cca07..3b1c7d549d9 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -2297,9 +2297,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) {