Alexandre Julliard : kernel: Get rid of support for loading old style 16-bit files.

Alexandre Julliard julliard at winehq.org
Thu Dec 31 07:42:42 CST 2009


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Dec 29 13:13:53 2009 +0100

kernel: Get rid of support for loading old style 16-bit files.

---

 dlls/krnl386.exe16/ne_module.c |  107 +---------------------------------------
 1 files changed, 1 insertions(+), 106 deletions(-)

diff --git a/dlls/krnl386.exe16/ne_module.c b/dlls/krnl386.exe16/ne_module.c
index 82e4576..08ed94c 100644
--- a/dlls/krnl386.exe16/ne_module.c
+++ b/dlls/krnl386.exe16/ne_module.c
@@ -67,18 +67,6 @@ struct ne_segment_table_entry_s
 
 #define hFirstModule (pThhook->hExeHead)
 
-struct builtin_dll
-{
-    const IMAGE_DOS_HEADER *header;      /* module headers */
-    const char             *file_name;   /* module file name */
-};
-
-/* Table of all built-in DLLs */
-
-#define MAX_DLLS 50
-
-static struct builtin_dll builtin_dlls[MAX_DLLS];
-
 static HINSTANCE16 NE_LoadModule( LPCSTR name, BOOL lib_only );
 static BOOL16 NE_FreeModule( HMODULE16 hModule, BOOL call_wep );
 
@@ -152,79 +140,6 @@ static int NE_strncasecmp( const char *str1, const char *str2, int len )
 
 
 /***********************************************************************
- *           find_dll_descr
- *
- * Find a descriptor in the list
- */
-static const IMAGE_DOS_HEADER *find_dll_descr( const char *dllname, const char **file_name )
-{
-    int i;
-    const IMAGE_DOS_HEADER *mz_header;
-    const IMAGE_OS2_HEADER *ne_header;
-    const BYTE *name_table;
-
-    for (i = 0; i < MAX_DLLS; i++)
-    {
-        mz_header = builtin_dlls[i].header;
-        if (mz_header)
-        {
-            ne_header = (const IMAGE_OS2_HEADER *)((const char *)mz_header + mz_header->e_lfanew);
-            name_table = (const BYTE *)ne_header + ne_header->ne_restab;
-
-            /* check the dll file name */
-            if (!NE_strcasecmp( builtin_dlls[i].file_name, dllname ) ||
-            /* check the dll module name (without extension) */
-                (!NE_strncasecmp( dllname, (const char*)name_table+1, *name_table ) &&
-                 !strcmp( dllname + *name_table, ".dll" )))
-            {
-                *file_name = builtin_dlls[i].file_name;
-                return builtin_dlls[i].header;
-            }
-        }
-    }
-    return NULL;
-}
-
-
-/***********************************************************************
- *           __wine_dll_register_16 (KERNEL32.@)
- *
- * Register a built-in DLL descriptor.
- */
-void __wine_dll_register_16( const IMAGE_DOS_HEADER *header, const char *file_name )
-{
-    int i;
-
-    for (i = 0; i < MAX_DLLS; i++)
-    {
-        if (builtin_dlls[i].header) continue;
-        builtin_dlls[i].header = header;
-        builtin_dlls[i].file_name = file_name;
-        break;
-    }
-    assert( i < MAX_DLLS );
-}
-
-
-/***********************************************************************
- *           __wine_dll_unregister_16 (KERNEL32.@)
- *
- * Unregister a built-in DLL descriptor.
- */
-void __wine_dll_unregister_16( const IMAGE_DOS_HEADER *header )
-{
-    int i;
-
-    for (i = 0; i < MAX_DLLS; i++)
-    {
-        if (builtin_dlls[i].header != header) continue;
-        builtin_dlls[i].header = NULL;
-        break;
-    }
-}
-
-
-/***********************************************************************
  *           NE_GetPtr
  */
 NE_MODULE *NE_GetPtr( HMODULE16 hModule )
@@ -1050,7 +965,7 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
     NE_MODULE *pModule;
     const IMAGE_DOS_HEADER *descr = NULL;
     const char *file_name = NULL;
-    char dllname[32], owner[20], *p;
+    char dllname[32], *p;
     const char *basename, *main_module;
     int owner_exists = FALSE;
 
@@ -1103,27 +1018,7 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
                 }
             }
         }
-        *p = 0;
 
-        /* old-style 16-bit placeholders support, to be removed at some point */
-        if (!mod32 && wine_dll_get_owner( dllname, owner, sizeof(owner), &owner_exists ) != -1)
-        {
-            mod32 = LoadLibraryA( owner );
-            if (mod32)
-            {
-                if (!(descr = find_dll_descr( dllname, &file_name )))
-                {
-                    FreeLibrary( mod32 );
-                    owner_exists = 0;
-                }
-            }
-            else
-            {
-                /* it's probably disabled by the load order config */
-                WARN( "couldn't load owner %s for 16-bit dll %s\n", owner, dllname );
-                return ERROR_FILE_NOT_FOUND;
-            }
-        }
         /* loading the 32-bit library can have the side effect of loading the module */
         /* if so, simply incr the ref count and return the module */
         if (descr && (hModule = GetModuleHandle16( libname )))




More information about the wine-cvs mailing list