Module: wine Branch: master Commit: f82ddf5e662da10e442d200f12ac7f8538c7af27 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f82ddf5e662da10e442d200f12...
Author: Alexandre Julliard julliard@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 )))