modified dll/win32/gdi32/gdi32.rbuild

modified   dll/win32/kernel32/kernel32.rbuild
modified   dll/win32/user32/user32.rbuild
   Inexplicably missed the "big three" in r37187. Don't link msvcrt in core Win32 DLLs, for real this time

modified   dll/win32/user32/misc/dllmain.c
   Don't use wcstok. Removes the dependency on msvcrt

svn path=/trunk/; revision=38210
This commit is contained in:
KJK::Hyperion 2008-12-21 00:13:08 +00:00
parent 103afbc4a7
commit ae3a2aacc2
4 changed files with 42 additions and 20 deletions

View file

@ -1,4 +1,4 @@
<module name="gdi32" type="win32dll" baseaddress="${BASEADDRESS_GDI32}" installbase="system32" installname="gdi32.dll" unicode="yes"> <module name="gdi32" type="win32dll" baseaddress="${BASEADDRESS_GDI32}" installbase="system32" installname="gdi32.dll" unicode="yes" crt="dll">
<importlibrary definition="gdi32.def" /> <importlibrary definition="gdi32.def" />
<include base="gdi32">include</include> <include base="gdi32">include</include>
<define name="_DISABLE_TIDENTS" /> <define name="_DISABLE_TIDENTS" />

View file

@ -1,7 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd"> <!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
<group> <group>
<module name="kernel32_base" type="objectlibrary"> <module name="kernel32_base" type="objectlibrary" crt="dll">
<include base="kernel32_base">.</include> <include base="kernel32_base">.</include>
<include base="kernel32_base">include</include> <include base="kernel32_base">include</include>
<include base="ReactOS">include/reactos/subsys</include> <include base="ReactOS">include/reactos/subsys</include>
@ -135,7 +135,7 @@
</directory> </directory>
<library>normalize</library> <library>normalize</library>
</module> </module>
<module name="kernel32" type="win32dll" baseaddress="${BASEADDRESS_KERNEL32}" installbase="system32" installname="kernel32.dll"> <module name="kernel32" type="win32dll" baseaddress="${BASEADDRESS_KERNEL32}" installbase="system32" installname="kernel32.dll" crt="dll">
<importlibrary definition="kernel32.def" /> <importlibrary definition="kernel32.def" />
<include base="kernel32">.</include> <include base="kernel32">.</include>
<include base="kernel32" root="intermediate">.</include> <include base="kernel32" root="intermediate">.</include>

View file

@ -132,16 +132,27 @@ LoadAppInitDlls()
{ {
WCHAR buffer[KEY_LENGTH]; WCHAR buffer[KEY_LENGTH];
LPWSTR ptr; LPWSTR ptr;
LPWSTR seps = L" ,"; size_t i;
RtlCopyMemory(buffer, szAppInit, KEY_LENGTH);; RtlCopyMemory(buffer, szAppInit, KEY_LENGTH);
ptr = wcstok(buffer, seps); for (i = 0; i < KEY_LENGTH; ++ i)
while (ptr) {
{ if(buffer[i] == L' ' || buffer[i] == L',')
LoadLibraryW(ptr); buffer[i] = 0;
ptr = wcstok(NULL, seps); }
}
for (i = 0; i < KEY_LENGTH; )
{
if(buffer[i] == 0)
++ i;
else
{
ptr = buffer + i;
i += wcslen(ptr);
LoadLibraryW(ptr);
}
}
} }
} }
@ -153,17 +164,28 @@ UnloadAppInitDlls()
WCHAR buffer[KEY_LENGTH]; WCHAR buffer[KEY_LENGTH];
HMODULE hModule; HMODULE hModule;
LPWSTR ptr; LPWSTR ptr;
LPWSTR seps = L" ,"; size_t i;
RtlCopyMemory(buffer, szAppInit, KEY_LENGTH); RtlCopyMemory(buffer, szAppInit, KEY_LENGTH);
ptr = wcstok(buffer, seps); for (i = 0; i < KEY_LENGTH; ++ i)
while (ptr) {
{ if(buffer[i] == L' ' || buffer[i] == L',')
hModule = GetModuleHandleW(ptr); buffer[i] = 0;
FreeLibrary(hModule); }
ptr = wcstok(NULL, seps);
} for (i = 0; i < KEY_LENGTH; )
{
if(buffer[i] == 0)
++ i;
else
{
ptr = buffer + i;
i += wcslen(ptr);
hModule = GetModuleHandleW(ptr);
FreeLibrary(hModule);
}
}
} }
} }

View file

@ -1,4 +1,4 @@
<module name="user32" type="win32dll" baseaddress="${BASEADDRESS_USER32}" installbase="system32" installname="user32.dll" unicode="yes"> <module name="user32" type="win32dll" baseaddress="${BASEADDRESS_USER32}" installbase="system32" installname="user32.dll" unicode="yes" crt="dll">
<importlibrary definition="user32.def" /> <importlibrary definition="user32.def" />
<include base="user32">.</include> <include base="user32">.</include>
<include base="user32">include</include> <include base="user32">include</include>