msvcp: Don't assume that msvcrt is imported.
This commit is contained in:
parent
db0a6fcaa5
commit
263a1448f9
|
@ -1410,8 +1410,11 @@ void __thiscall ctype_char__Tidy(ctype_char *this)
|
||||||
/* ?classic_table@?$ctype@D@std@@KAPEBFXZ */
|
/* ?classic_table@?$ctype@D@std@@KAPEBFXZ */
|
||||||
const short* __cdecl ctype_char_classic_table(void)
|
const short* __cdecl ctype_char_classic_table(void)
|
||||||
{
|
{
|
||||||
|
ctype_char *ctype;
|
||||||
|
|
||||||
TRACE("()\n");
|
TRACE("()\n");
|
||||||
return &((short*)GetProcAddress(GetModuleHandleA("msvcrt.dll"), "_ctype"))[1];
|
ctype = ctype_char_use_facet( locale_classic() );
|
||||||
|
return ctype->ctype.table;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z */
|
/* ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z */
|
||||||
|
|
|
@ -60,9 +60,14 @@ void* (__cdecl *MSVCRT_operator_new)(MSVCP_size_t);
|
||||||
void (__cdecl *MSVCRT_operator_delete)(void*);
|
void (__cdecl *MSVCRT_operator_delete)(void*);
|
||||||
void* (__cdecl *MSVCRT_set_new_handler)(void*);
|
void* (__cdecl *MSVCRT_set_new_handler)(void*);
|
||||||
|
|
||||||
|
#define VERSION_STRING(ver) #ver
|
||||||
|
#define MSVCRT_NAME(ver) "msvcr" VERSION_STRING(ver) ".dll"
|
||||||
|
|
||||||
static void init_cxx_funcs(void)
|
static void init_cxx_funcs(void)
|
||||||
{
|
{
|
||||||
HMODULE hmod = GetModuleHandleA("msvcrt.dll");
|
HMODULE hmod = GetModuleHandleA( MSVCRT_NAME(_MSVCP_VER) );
|
||||||
|
|
||||||
|
if (!hmod) FIXME( "%s not loaded\n", MSVCRT_NAME(_MSVCP_VER) );
|
||||||
|
|
||||||
if (sizeof(void *) > sizeof(int)) /* 64-bit has different names */
|
if (sizeof(void *) > sizeof(int)) /* 64-bit has different names */
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue