The game I was trying to run (Ravendawn) was polluting the stdout with hundreds of CreateFile2 FIXMEs. The game worked fine, probably because the params pointer was NULL, so any non-implemented extra parameters weren't even used and we just forwarded to CreateFileW. So, a simple if was added to check whether the pointer is null, and if it is, we just call TRACE instead of FIXME since in this case it isn't really necessary.
-- v2: kernelbase: Refactor extended parameter logging.
From: kubni nikola.kuburovic123@gmail.com
If CREATEFILE2_EXTENDED_PARAMS struct pointer is null, we just forward to CreateFileW and we don't need FIXME's. --- dlls/kernelbase/file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c index e1ba92a6448..4c065c894d0 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -687,7 +687,10 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFile2( LPCWSTR name, DWORD access, DWORD s DWORD attributes = params ? params->dwFileAttributes : 0; DWORD flags = params ? params->dwFileFlags : 0;
- FIXME( "(%s %lx %lx %lx %p), partial stub\n", debugstr_w(name), access, sharing, creation, params ); + if (params == NULL) + TRACE("CREATEFILE2_EXTENDED_PARAMETERS pointer is NULL\n"); + else + FIXME( "(%s %lx %lx %lx %p), partial stub - dwSize and dwSecurityQosFlags not checked\n", debugstr_w(name), access, sharing, creation, params );
if (attributes & ~attributes_mask) FIXME( "unsupported attributes %#lx\n", attributes ); if (flags & ~flags_mask) FIXME( "unsupported flags %#lx\n", flags );
From: kubni nikola.kuburovic123@gmail.com
--- dlls/kernelbase/file.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c index 4c065c894d0..9a2efaaa7da 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -687,10 +687,8 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFile2( LPCWSTR name, DWORD access, DWORD s DWORD attributes = params ? params->dwFileAttributes : 0; DWORD flags = params ? params->dwFileFlags : 0;
- if (params == NULL) - TRACE("CREATEFILE2_EXTENDED_PARAMETERS pointer is NULL\n"); - else - FIXME( "(%s %lx %lx %lx %p), partial stub - dwSize and dwSecurityQosFlags not checked\n", debugstr_w(name), access, sharing, creation, params ); + TRACE( "%s %#lx %#lx %#lx %p", debugstr_w(name), access, sharing, creation, params ); + if (params) FIXME( "Ignoring extended parameters %p\n", params );
if (attributes & ~attributes_mask) FIXME( "unsupported attributes %#lx\n", attributes ); if (flags & ~flags_mask) FIXME( "unsupported flags %#lx\n", flags );
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=142866
Your paranoid android.
=== debian11 (build log) ===
error: patch failed: dlls/kernelbase/file.c:687 Task: Patch failed to apply
=== debian11b (build log) ===
error: patch failed: dlls/kernelbase/file.c:687 Task: Patch failed to apply
On Tue Feb 6 18:59:23 2024 +0000, Zebediah Figura wrote:
I'd instead do: TRACE( "%s %#lx %#lx %#lx %p" ); if (params) FIXME( "Ignoring extended parameters %p\n" );
Thanks for the feedback. I did a refactor, is this alright?
On Tue Feb 6 18:59:22 2024 +0000, Nikola Kuburović wrote:
Thanks for the feedback. I did a refactor, is this alright?
The commits should be squashed together.