[PATCH] ntdll: Lookup build dir dlls with a dot using their full name.
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> --- Either that or it needs to be some changes to the way dots are handled in the build, to support modules named like "windows.media.speech". I had a patch for that initially but I don't remember where it was. dlls/ntdll/unix/loader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index df8d99ce489..8b17bf9830a 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -1450,7 +1450,7 @@ static NTSTATUS CDECL load_builtin_dll( UNICODE_STRING *nt_name, void **module, ptr = file + pos; namelen = len + 1; file[pos + len + 1] = 0; - if (ext && !strcmp( ext, ".dll" )) namelen -= 4; + if (ext && !strcmp( ext, ".dll" ) && strchr( ptr, '.' ) == ext) namelen -= 4; ptr = prepend( ptr, ptr, namelen ); ptr = prepend( ptr, "/dlls", sizeof("/dlls") - 1 ); ptr = prepend( ptr, build_dir, strlen(build_dir) ); @@ -1461,7 +1461,7 @@ static NTSTATUS CDECL load_builtin_dll( UNICODE_STRING *nt_name, void **module, ptr = file + pos; namelen = len + 1; file[pos + len + 1] = 0; - if (ext && !strcmp( ext, ".exe" )) namelen -= 4; + if (ext && !strcmp( ext, ".exe" ) && strchr( ptr, '.' ) == ext) namelen -= 4; ptr = prepend( ptr, ptr, namelen ); ptr = prepend( ptr, "/programs", sizeof("/programs") - 1 ); ptr = prepend( ptr, build_dir, strlen(build_dir) ); -- 2.30.0
participants (1)
-
Rémi Bernon