Re: kernel32: Prevent second loading of a library with specified path.

2009-06-09 Thread Alexander Morozov
> I think we already create our own dll's for testing purposes, see
> kernel32/tests/loader.c (test_Loader()).
>
> Will that suffice?

Thanks. This is what is need.




Re: kernel32: Prevent second loading of a library with specified path.

2009-06-09 Thread Paul Vriens

Alexander Morozov wrote:

This should most likely be done in ntdll. Also please add tests for
these different cases.


For tests should create dll which can be loaded. But I do not know how to 
implement this in tests on WINE. I tried to copy and rename .exe.so module 
but it seems like the problem is existing only for PE modules.



I think we already create our own dll's for testing purposes, see 
kernel32/tests/loader.c (test_Loader()).


Will that suffice?

--
Cheers,

Paul.




Re: kernel32: Prevent second loading of a library with specified path.

2009-06-09 Thread Alexander Morozov
> This should most likely be done in ntdll. Also please add tests for
> these different cases.

For tests should create dll which can be loaded. But I do not know how to 
implement this in tests on WINE. I tried to copy and rename .exe.so module 
but it seems like the problem is existing only for PE modules.




Re: kernel32: Prevent second loading of a library with specified path.

2009-06-05 Thread Alexandre Julliard
Alexander Morozov  writes:

> Changelog
>   Prevent second loading of a library with specified path
>
> This patch fixes bug #18775. I tested WinXP and Win2003.
>
> When a library have long name (> 8 symbols before extension) an application
> can run LoadLibrary(long name) and later LoadLibrary(8.3 name).
> In some cases Windows will load image second time, in other it will return
> pointer to already loaded image.
> I found that Windows does not load library second time in these cases:
> 1) c:\dir\libliblib.dll and c:\dir\LIBLIB~1.DLL
> 2) \dir\libliblib.dll and \dir\LIBLIB~1.DLL
> 3) .\libliblib.dll and .\LIBLIB~1.DLL
> 4) dir\libliblib.dll and dir\LIBLIB~1.DLL
> and load it in cases:
> 5) libliblib.dll and LIBLIB~1.DLL
> 6) c:libliblib.dll and c:LIBLIB~1.DLL

This should most likely be done in ntdll. Also please add tests for
these different cases.

-- 
Alexandre Julliard
julli...@winehq.org