#include <stdarg.h> #include <limits.h> #include "msvcp.h" #include "windef.h" #include "winbase.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(msvcp); /* ??0_Mutex@std@@QAE@XZ */ /* ??0_Mutex@std@@QEAA@XZ */ DEFINE_THISCALL_WRAPPER(mutex_ctor, 4) mutex* __thiscall mutex_ctor(mutex *this) { CRITICAL_SECTION *cs = MSVCRT_operator_new(sizeof(*cs)); if(!cs) { ERR("Out of memory\n"); throw_exception(EXCEPTION_BAD_ALLOC, NULL); } InitializeCriticalSection(cs); cs->DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": _Mutex critical section"); this->mutex = cs; return this; } /* ??1_Mutex@std@@QAE@XZ */ /* ??1_Mutex@std@@QEAA@XZ */ DEFINE_THISCALL_WRAPPER(mutex_dtor, 4) void __thiscall mutex_dtor(mutex *this)
/********************************************************************* * ??2@YAPAXIHPBDH@Z (MSVCRT.@) */ void* CDECL MSVCRT_operator_new_dbg(MSVCRT_size_t size, int type, const char *file, int line) { return MSVCRT_operator_new( size ); }