Jacek Caban : ntoskrnl.exe: Use static initializer for device_drivers.

Alexandre Julliard julliard at winehq.org
Wed Aug 31 11:02:41 CDT 2016


Module: wine
Branch: master
Commit: ccdbc176c0b131afad05395d152d78c6468da511
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ccdbc176c0b131afad05395d152d78c6468da511

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Aug 30 21:30:33 2016 +0200

ntoskrnl.exe: Use static initializer for device_drivers.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntoskrnl.exe/ntoskrnl.c | 40 ++++++++--------------------------------
 1 file changed, 8 insertions(+), 32 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 7c35d14..a2cbb74 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -90,32 +90,6 @@ struct wine_driver
     DRIVER_EXTENSION driver_extension;
 };
 
-static struct wine_rb_tree wine_drivers;
-
-static CRITICAL_SECTION drivers_cs;
-static CRITICAL_SECTION_DEBUG critsect_debug =
-{
-    0, 0, &drivers_cs,
-    { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { (DWORD_PTR)(__FILE__ ": drivers_cs") }
-};
-static CRITICAL_SECTION drivers_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
-
-static void *wine_drivers_rb_alloc( size_t size )
-{
-    return HeapAlloc( GetProcessHeap(), 0, size );
-}
-
-static void *wine_drivers_rb_realloc( void *ptr, size_t size )
-{
-    return HeapReAlloc( GetProcessHeap(), 0, ptr, size );
-}
-
-static void wine_drivers_rb_free( void *ptr )
-{
-    HeapFree( GetProcessHeap(), 0, ptr );
-}
-
 static int wine_drivers_rb_compare( const void *key, const struct wine_rb_entry *entry )
 {
     const struct wine_driver *driver = WINE_RB_ENTRY_VALUE( entry, const struct wine_driver, entry );
@@ -124,13 +98,16 @@ static int wine_drivers_rb_compare( const void *key, const struct wine_rb_entry
     return RtlCompareUnicodeString( k, &driver->driver_obj.DriverName, FALSE );
 }
 
-static const struct wine_rb_functions wine_drivers_rb_functions =
+static struct wine_rb_tree wine_drivers = { wine_drivers_rb_compare };
+
+static CRITICAL_SECTION drivers_cs;
+static CRITICAL_SECTION_DEBUG critsect_debug =
 {
-    wine_drivers_rb_alloc,
-    wine_drivers_rb_realloc,
-    wine_drivers_rb_free,
-    wine_drivers_rb_compare,
+    0, 0, &drivers_cs,
+    { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
+      0, 0, { (DWORD_PTR)(__FILE__ ": drivers_cs") }
 };
+static CRITICAL_SECTION drivers_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
 
 #ifdef __i386__
 #define DEFINE_FASTCALL1_ENTRYPOINT( name ) \
@@ -2447,7 +2424,6 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
     {
     case DLL_PROCESS_ATTACH:
         DisableThreadLibraryCalls( inst );
-        if (wine_rb_init( &wine_drivers, &wine_drivers_rb_functions )) return FALSE;
 #if defined(__i386__) || defined(__x86_64__)
         handler = RtlAddVectoredExceptionHandler( TRUE, vectored_handler );
 #endif




More information about the wine-cvs mailing list