Crashes were reported on the forum for WeChat here https://forum.winehq.org/viewtopic.php?t=39456 and in a bugreport (https://bugs.winehq.org/show_bug.cgi?id=51386). (As the application in that bugreport probably needs a real implementation I left out the "Wine-bug" message here)
-- v5: kernelbase: Add stub for FindFirstFileNameW.
From: Louis Lenders xerox.xerox2000x@gmail.com
Crashes were reported on the forum for WeChat here https://forum.winehq.org/viewtopic.php?t=39456 and in a bugreport (https://bugs.winehq.org/show_bug.cgi?id=51386). (As the application in that bugreport probably needs a real implementation I left out the "Wine-bug" message here)
v3: Set last error to ERROR_CALL_NOT_IMPLEMENTED. --- dlls/kernel32/kernel32.spec | 2 +- dlls/kernelbase/file.c | 9 +++++++++ dlls/kernelbase/kernelbase.spec | 2 +- include/fileapi.h | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 7ed8048f5d0..fb86605dab7 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -491,7 +491,7 @@ @ stdcall -import FindFirstFileExA(str long ptr long ptr long) @ stdcall -import FindFirstFileExW(wstr long ptr long ptr long) # @ stub FindFirstFileNameTransactedW -# @ stub FindFirstFileNameW +@ stdcall -import FindFirstFileNameW(wstr long ptr ptr) @ stdcall FindFirstFileTransactedA(str long ptr long ptr long ptr) @ stdcall FindFirstFileTransactedW(wstr long ptr long ptr long ptr) @ stdcall -import FindFirstFileW(wstr ptr) diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c index 1f13511fa7b..bc6bbaf265f 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -1374,6 +1374,15 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileW( const WCHAR *filename, WIN32_FIN return FindFirstFileExW( filename, FindExInfoStandard, data, FindExSearchNameMatch, NULL, 0 ); }
+/****************************************************************************** + * FindFirstFileNameW (kernelbase.@) + */ +HANDLE WINAPI FindFirstFileNameW ( const WCHAR *file_name, DWORD flags, DWORD *len, WCHAR *link_name ) +{ + FIXME( "(%s, %lu, %p, %p): stub!\n", debugstr_w(file_name), flags, len, link_name ); + SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); + return INVALID_HANDLE_VALUE; +}
/************************************************************************** * FindFirstStreamW (kernelbase.@) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 4c1dd4af1da..e9b6e7306d5 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -363,7 +363,7 @@ @ stdcall FindFirstFileA(str ptr) @ stdcall FindFirstFileExA(str long ptr long ptr long) @ stdcall FindFirstFileExW(wstr long ptr long ptr long) -# @ stub FindFirstFileNameW +@ stdcall FindFirstFileNameW(wstr long ptr ptr) @ stdcall FindFirstFileW(wstr ptr) @ stdcall FindFirstFreeAce(ptr ptr) @ stdcall FindFirstStreamW(wstr long ptr long) diff --git a/include/fileapi.h b/include/fileapi.h index 2080fbbac21..04bbfea60c2 100644 --- a/include/fileapi.h +++ b/include/fileapi.h @@ -33,7 +33,7 @@ typedef struct _CREATEFILE2_EXTENDED_PARAMETERS { } CREATEFILE2_EXTENDED_PARAMETERS, *PCREATEFILE2_EXTENDED_PARAMETERS, *LPCREATEFILE2_EXTENDED_PARAMETERS;
WINBASEAPI HANDLE WINAPI CreateFile2(LPCWSTR,DWORD,DWORD,DWORD,LPCREATEFILE2_EXTENDED_PARAMETERS); - +WINBASEAPI HANDLE WINAPI FindFirstFileNameW(const WCHAR*,DWORD,DWORD*,WCHAR*); WINBASEAPI DWORD WINAPI GetTempPath2A(DWORD,LPSTR); WINBASEAPI DWORD WINAPI GetTempPath2W(DWORD,LPWSTR);
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 tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=148798
Your paranoid android.
=== debian11b (64 bit WoW report) ===
d3d9: d3d9ex.c:3230: Test failed: Expected message 0x18 for window 0, but didn't receive it, i=0.
ieframe: ie.c:199: Test failed: unexpected call Invoke_NAVIGATEERROR ie: Timeout
qmgr: job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:783: Test failed: unexpected state: 4 job.c:508: Test failed: Failed to get error: 0x8020000f job.c:802: Test failed: BITS job timed out job.c:834: Test failed: got 0x00200017
wldap32: parse.c:417: Test failed: ldap_connect failed 0x51
Jinoh Kang (@iamahuman) commented about dlls/kernelbase/file.c:
return FindFirstFileExW( filename, FindExInfoStandard, data, FindExSearchNameMatch, NULL, 0 );
}
+/******************************************************************************
FindFirstFileNameW (kernelbase.@)
- */
+HANDLE WINAPI FindFirstFileNameW ( const WCHAR *file_name, DWORD flags, DWORD *len, WCHAR *link_name )
Extraneous space.
```suggestion:-0+0 HANDLE WINAPI FindFirstFileNameW( const WCHAR *file_name, DWORD flags, DWORD *len, WCHAR *link_name ) ```