Commit 263a1448 authored by Alexandre Julliard's avatar Alexandre Julliard

msvcp: Don't assume that msvcrt is imported.

parent db0a6fca
......@@ -1410,8 +1410,11 @@ void __thiscall ctype_char__Tidy(ctype_char *this)
/* ?classic_table@?$ctype@D@std@@KAPEBFXZ */
const short* __cdecl ctype_char_classic_table(void)
{
ctype_char *ctype;
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 */
......
......@@ -60,9 +60,14 @@ void* (__cdecl *MSVCRT_operator_new)(MSVCP_size_t);
void (__cdecl *MSVCRT_operator_delete)(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)
{
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 */
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment