Aleksey Bragin 629be1865d [KERNEL32]
- Rewrite large part of ldr.c code, including FreeLibrary, FreeLibraryAndExitThread, GetModuleFileNameA/W, GetModuleHandleA/W, ExA/W. Now they properly validate parameters, common code for getting module handles is factored into a standalone function which is reused for all 4 APIs instead of duplicating almost the same code four times. GetModuleFileNameA became a typical A->W wrapper around GetModuleFileNameW so duplication is also removed there.
- Getting module handle also became a correct implementation because now it takes process's dll path into account instead of always assuming a "default" one (which is incompatible with a new ntdll loader).
- Fixed a typo in BasepGetProcessPath which led to incorrect value being returned. Downgrade two debugprints.

svn path=/trunk/; revision=51238
2011-04-03 09:42:08 +00:00
2011-04-03 09:42:08 +00:00
2011-04-02 17:51:09 +00:00
S
Description
A free Windows-compatible Operating System
528 MiB
Languages
C 86.9%
C++ 10.7%
Python 0.7%
Assembly 0.5%
CMake 0.5%
Other 0.4%