Module: wine Branch: master Commit: c530fb9e28208db784f70b3794cbb16f2ce56ca1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c530fb9e28208db784f70b3794... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Fri Mar 3 16:21:08 2017 +0100 ntdll: Fix NtFlushBuffersFile() for files with FILE_APPEND_DATA access. Fixes a regression introduced by commit f7d40d45da7a1bc0accd58bca6d6da4e34861937. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/file.c | 2 ++ dlls/ntdll/tests/file.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index 3f38c6f..e2cfe7f 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -3418,6 +3418,8 @@ NTSTATUS WINAPI NtFlushBuffersFile( HANDLE hFile, IO_STATUS_BLOCK* IoStatusBlock int fd, needs_close; ret = server_get_unix_fd( hFile, FILE_WRITE_DATA, &fd, &needs_close, &type, NULL ); + if (ret == STATUS_ACCESS_DENIED) + ret = server_get_unix_fd( hFile, FILE_APPEND_DATA, &fd, &needs_close, &type, NULL ); if (!ret && type == FD_TYPE_SERIAL) { diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 5e7e1ee..09bf688 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -4441,7 +4441,6 @@ static void test_flush_buffers_file(void) ok(hfile != INVALID_HANDLE_VALUE, "could not open temp file, error %d.\n", GetLastError()); status = pNtFlushBuffersFile(hfile, &io_status_block); - todo_wine ok(status == STATUS_SUCCESS, "expected STATUS_SUCCESS, got %#x.\n", status); CloseHandle(hfile);