Removed MODULE_GetLoadOrderA.
This commit is contained in:
parent
c762f5d7af
commit
16b4411669
|
@ -1212,6 +1212,7 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
UNICODE_STRING pathW;
|
||||||
WCHAR buffer[MAX_PATH], *p;
|
WCHAR buffer[MAX_PATH], *p;
|
||||||
|
|
||||||
if (!GetModuleFileNameW( 0, buffer, MAX_PATH )) p = NULL;
|
if (!GetModuleFileNameW( 0, buffer, MAX_PATH )) p = NULL;
|
||||||
|
@ -1220,7 +1221,9 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
|
||||||
if ((p = strrchrW( buffer, '\\' ))) p++;
|
if ((p = strrchrW( buffer, '\\' ))) p++;
|
||||||
else p = buffer;
|
else p = buffer;
|
||||||
}
|
}
|
||||||
MODULE_GetLoadOrderA(loadorder, p, basename, FALSE);
|
RtlCreateUnicodeStringFromAsciiz( &pathW, basename );
|
||||||
|
MODULE_GetLoadOrderW( loadorder, p, pathW.Buffer );
|
||||||
|
RtlFreeUnicodeString( &pathW );
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i = 0; i < LOADORDER_NTYPES; i++)
|
for(i = 0; i < LOADORDER_NTYPES; i++)
|
||||||
|
|
|
@ -182,7 +182,7 @@ static HANDLE open_exe_file( const WCHAR *name )
|
||||||
name = buffer;
|
name = buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_GetLoadOrderW( loadorder, NULL, name, TRUE );
|
MODULE_GetLoadOrderW( loadorder, NULL, name );
|
||||||
|
|
||||||
for(i = 0; i < LOADORDER_NTYPES; i++)
|
for(i = 0; i < LOADORDER_NTYPES; i++)
|
||||||
{
|
{
|
||||||
|
@ -245,7 +245,7 @@ static BOOL find_exe_file( const WCHAR *name, WCHAR *buffer, int buflen, HANDLE
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_GetLoadOrderW( loadorder, NULL, buffer, TRUE );
|
MODULE_GetLoadOrderW( loadorder, NULL, buffer );
|
||||||
|
|
||||||
for(i = 0; i < LOADORDER_NTYPES; i++)
|
for(i = 0; i < LOADORDER_NTYPES; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1442,7 +1442,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
|
||||||
}
|
}
|
||||||
|
|
||||||
main_exe = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
|
main_exe = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
|
||||||
MODULE_GetLoadOrderW( loadorder, main_exe->ldr.BaseDllName.Buffer, filename, TRUE);
|
MODULE_GetLoadOrderW( loadorder, main_exe->ldr.BaseDllName.Buffer, filename );
|
||||||
|
|
||||||
nts = STATUS_DLL_NOT_FOUND;
|
nts = STATUS_DLL_NOT_FOUND;
|
||||||
for (i = 0; i < LOADORDER_NTYPES; i++)
|
for (i = 0; i < LOADORDER_NTYPES; i++)
|
||||||
|
|
|
@ -510,7 +510,7 @@ BOOL MODULE_GetSystemDirectory( UNICODE_STRING *sysdir )
|
||||||
* the specific dll. Otherwise the default load order is returned.
|
* the specific dll. Otherwise the default load order is returned.
|
||||||
*/
|
*/
|
||||||
void MODULE_GetLoadOrderW( enum loadorder_type loadorder[], const WCHAR *app_name,
|
void MODULE_GetLoadOrderW( enum loadorder_type loadorder[], const WCHAR *app_name,
|
||||||
const WCHAR *path, BOOL win32 )
|
const WCHAR *path )
|
||||||
{
|
{
|
||||||
static const WCHAR DllOverridesW[] = {'M','a','c','h','i','n','e','\\',
|
static const WCHAR DllOverridesW[] = {'M','a','c','h','i','n','e','\\',
|
||||||
'S','o','f','t','w','a','r','e','\\',
|
'S','o','f','t','w','a','r','e','\\',
|
||||||
|
@ -520,8 +520,11 @@ void MODULE_GetLoadOrderW( enum loadorder_type loadorder[], const WCHAR *app_nam
|
||||||
'D','l','l','O','v','e','r','r','i','d','e','s',0};
|
'D','l','l','O','v','e','r','r','i','d','e','s',0};
|
||||||
|
|
||||||
static HKEY std_key = (HKEY)-1; /* key to standard section, cached */
|
static HKEY std_key = (HKEY)-1; /* key to standard section, cached */
|
||||||
|
static UNICODE_STRING sysdir;
|
||||||
|
|
||||||
HKEY app_key = 0;
|
HKEY app_key = 0;
|
||||||
WCHAR *module, *basename;
|
WCHAR *module, *basename;
|
||||||
|
UNICODE_STRING path_str;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (!init_done) init_load_order();
|
if (!init_done) init_load_order();
|
||||||
|
@ -531,21 +534,14 @@ void MODULE_GetLoadOrderW( enum loadorder_type loadorder[], const WCHAR *app_nam
|
||||||
loadorder[0] = LOADORDER_INVALID; /* in case something bad happens below */
|
loadorder[0] = LOADORDER_INVALID; /* in case something bad happens below */
|
||||||
|
|
||||||
/* Strip path information if the module resides in the system directory
|
/* Strip path information if the module resides in the system directory
|
||||||
* (path is already stripped by caller for 16-bit modules)
|
|
||||||
*/
|
*/
|
||||||
if (win32)
|
if (!sysdir.Buffer && !MODULE_GetSystemDirectory( &sysdir )) return;
|
||||||
|
RtlInitUnicodeString( &path_str, path );
|
||||||
|
if (RtlPrefixUnicodeString( &sysdir, &path_str, TRUE ))
|
||||||
{
|
{
|
||||||
UNICODE_STRING path_str, sysdir;
|
const WCHAR *p = path + sysdir.Length / sizeof(WCHAR);
|
||||||
|
while (*p == '\\' || *p == '/') p++;
|
||||||
if (!MODULE_GetSystemDirectory( &sysdir )) return;
|
if (!strchrW( p, '\\' ) && !strchrW( p, '/' )) path = p;
|
||||||
RtlInitUnicodeString( &path_str, path );
|
|
||||||
if (RtlPrefixUnicodeString( &sysdir, &path_str, TRUE ))
|
|
||||||
{
|
|
||||||
const WCHAR *p = path + sysdir.Length / sizeof(WCHAR);
|
|
||||||
while (*p == '\\' || *p == '/') p++;
|
|
||||||
if (!strchrW( p, '\\' ) && !strchrW( p, '/' )) path = p;
|
|
||||||
}
|
|
||||||
RtlFreeUnicodeString( &sysdir );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(len = strlenW(path))) return;
|
if (!(len = strlenW(path))) return;
|
||||||
|
@ -660,24 +656,3 @@ void MODULE_GetLoadOrderW( enum loadorder_type loadorder[], const WCHAR *app_nam
|
||||||
if (app_key) NtClose( app_key );
|
if (app_key) NtClose( app_key );
|
||||||
RtlFreeHeap( GetProcessHeap(), 0, module );
|
RtlFreeHeap( GetProcessHeap(), 0, module );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************
|
|
||||||
* MODULE_GetLoadOrderA (internal)
|
|
||||||
*
|
|
||||||
* Locate the loadorder of a module.
|
|
||||||
* Any path is stripped from the path-argument and so are the extension
|
|
||||||
* '.dll' and '.exe'. A lookup in the table can yield an override for
|
|
||||||
* the specific dll. Otherwise the default load order is returned.
|
|
||||||
*
|
|
||||||
* FIXME: should be removed, everything should be Unicode.
|
|
||||||
*/
|
|
||||||
void MODULE_GetLoadOrderA( enum loadorder_type loadorder[], const WCHAR *app_name,
|
|
||||||
const char *path, BOOL win32 )
|
|
||||||
{
|
|
||||||
UNICODE_STRING pathW;
|
|
||||||
|
|
||||||
RtlCreateUnicodeStringFromAsciiz( &pathW, path );
|
|
||||||
MODULE_GetLoadOrderW( loadorder, app_name, pathW.Buffer, win32 );
|
|
||||||
RtlFreeUnicodeString( &pathW );
|
|
||||||
}
|
|
||||||
|
|
|
@ -1080,7 +1080,6 @@
|
||||||
#
|
#
|
||||||
@ cdecl CDROM_InitRegistry(long long str)
|
@ cdecl CDROM_InitRegistry(long long str)
|
||||||
@ cdecl MODULE_DllThreadAttach(ptr)
|
@ cdecl MODULE_DllThreadAttach(ptr)
|
||||||
@ cdecl MODULE_GetLoadOrderA(ptr str str long)
|
@ cdecl MODULE_GetLoadOrderW(ptr wstr wstr)
|
||||||
@ cdecl MODULE_GetLoadOrderW(ptr wstr wstr long)
|
|
||||||
@ cdecl VERSION_Init(wstr)
|
@ cdecl VERSION_Init(wstr)
|
||||||
@ cdecl VIRTUAL_SetFaultHandler(ptr ptr ptr)
|
@ cdecl VIRTUAL_SetFaultHandler(ptr ptr ptr)
|
||||||
|
|
|
@ -184,8 +184,6 @@ extern void TASK_InstallTHHook( THHOOK *pNewThook );
|
||||||
|
|
||||||
/* loadorder.c */
|
/* loadorder.c */
|
||||||
extern void MODULE_GetLoadOrderW( enum loadorder_type plo[], const WCHAR *app_name,
|
extern void MODULE_GetLoadOrderW( enum loadorder_type plo[], const WCHAR *app_name,
|
||||||
const WCHAR *path, BOOL win32 );
|
const WCHAR *path );
|
||||||
extern void MODULE_GetLoadOrderA( enum loadorder_type plo[], const WCHAR *app_name,
|
|
||||||
const char *path, BOOL win32 );
|
|
||||||
|
|
||||||
#endif /* __WINE_MODULE_H */
|
#endif /* __WINE_MODULE_H */
|
||||||
|
|
Loading…
Reference in New Issue