Alexander Yastrebov <menone7@gmail.com>
authorAleksey Bragin <aleksey@reactos.org>
Sat, 10 Oct 2009 09:16:34 +0000 (09:16 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Sat, 10 Oct 2009 09:16:34 +0000 (09:16 +0000)
- SetDllDirectory should add a directory to the search path used to locate DLLs for the application.

See issue #4820 for more details.

svn path=/trunk/; revision=43357

reactos/dll/win32/kernel32/misc/ldr.c

index 58c6bc0..6f4a2dd 100644 (file)
@@ -63,6 +63,7 @@ GetDllLoadPath(LPCWSTR lpModule)
        }
 
        Length += GetCurrentDirectoryW(0, NULL);
+       Length += GetDllDirectoryW(0, NULL);
        Length += GetSystemDirectoryW(NULL, 0);
        Length += GetWindowsDirectoryW(NULL, 0);
        Length += GetEnvironmentVariableW(L"PATH", NULL, 0);
@@ -84,6 +85,8 @@ GetDllLoadPath(LPCWSTR lpModule)
 
        Pos += GetCurrentDirectoryW(Length, EnvironmentBufferW + Pos);
        EnvironmentBufferW[Pos++] = L';';
+       Pos += GetDllDirectoryW(Length - Pos, EnvironmentBufferW + Pos);
+       EnvironmentBufferW[Pos++] = L';';
        Pos += GetSystemDirectoryW(EnvironmentBufferW + Pos, Length - Pos);
        EnvironmentBufferW[Pos++] = L';';
        Pos += GetWindowsDirectoryW(EnvironmentBufferW + Pos, Length - Pos);