modified dll/win32/gdi32/gdi32.rbuild
authorKJK::Hyperion <hackbunny@reactos.org>
Sun, 21 Dec 2008 00:13:08 +0000 (00:13 +0000)
committerKJK::Hyperion <hackbunny@reactos.org>
Sun, 21 Dec 2008 00:13:08 +0000 (00:13 +0000)
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

reactos/dll/win32/gdi32/gdi32.rbuild
reactos/dll/win32/kernel32/kernel32.rbuild
reactos/dll/win32/user32/misc/dllmain.c
reactos/dll/win32/user32/user32.rbuild

index 9b6a944..91ddb0c 100644 (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" />
index 4d7e15c..7b5041a 100644 (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>
                </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>
index 23492d3..38c9c62 100644 (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);
+                       }
+               }
     }
 }
 
index 0b24fb4..246b26b 100644 (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>