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" />
<include base="gdi32">include</include>
<define name="_DISABLE_TIDENTS" />

View file

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
<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>
<include base="ReactOS">include/reactos/subsys</include>
@ -135,7 +135,7 @@
</directory>
<library>normalize</library>
</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" />
<include base="kernel32">.</include>
<include base="kernel32" root="intermediate">.</include>

View file

@ -132,16 +132,27 @@ LoadAppInitDlls()
{
WCHAR buffer[KEY_LENGTH];
LPWSTR ptr;
LPWSTR seps = L" ,";
size_t i;
RtlCopyMemory(buffer, szAppInit, KEY_LENGTH);;
RtlCopyMemory(buffer, szAppInit, KEY_LENGTH);
ptr = wcstok(buffer, seps);
while (ptr)
{
LoadLibraryW(ptr);
ptr = wcstok(NULL, seps);
}
for (i = 0; i < KEY_LENGTH; ++ i)
{
if(buffer[i] == L' ' || buffer[i] == L',')
buffer[i] = 0;
}
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];
HMODULE hModule;
LPWSTR ptr;
LPWSTR seps = L" ,";
size_t i;
RtlCopyMemory(buffer, szAppInit, KEY_LENGTH);
ptr = wcstok(buffer, seps);
while (ptr)
{
hModule = GetModuleHandleW(ptr);
FreeLibrary(hModule);
ptr = wcstok(NULL, seps);
}
for (i = 0; i < KEY_LENGTH; ++ i)
{
if(buffer[i] == L' ' || buffer[i] == L',')
buffer[i] = 0;
}
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" />
<include base="user32">.</include>
<include base="user32">include</include>