/********************************************************************* * ??2@YAPAXIHPBDH@Z (MSVCRTD.@) */ void * CDECL MSVCRTD_operator_new_dbg(MSVCRT_size_t nSize, int nBlockUse, const char *szFileName, int nLine) { void *retval = NULL; TRACE("(%lu, %d, '%s', %d)\n", nSize, nBlockUse, szFileName, nLine); switch(_BLOCK_TYPE(nBlockUse)) { case _NORMAL_BLOCK: break; case _CLIENT_BLOCK: FIXME("Unimplemented case for nBlockUse = _CLIENT_BLOCK\n"); return NULL; case _FREE_BLOCK: FIXME("Native code throws an exception here\n"); case _CRT_BLOCK: case _IGNORE_BLOCK: ERR("Not allowed nBlockUse value: %d\n", _BLOCK_TYPE(nBlockUse)); return NULL; default: ERR("Unknown nBlockUse value: %d\n", _BLOCK_TYPE(nBlockUse)); return NULL; } retval = HeapAlloc(GetProcessHeap(), 0, nSize); if (!retval) _callnewh(nSize); return retval; }
int __cdecl _AfxAllocHookProxy(int nAllocType, void * pvData, size_t nSize, int nBlockUse, long lRequest, const char * szFilename, int nLine) #endif { #if _MSC_VER >= 1200 if (nAllocType != _HOOK_ALLOC) return (pfnCrtAllocHook)(nAllocType, pvData, nSize, nBlockUse, lRequest, (const unsigned char*) szFilename, nLine); if ((pfnAllocHook)(nSize, _BLOCK_TYPE(nBlockUse) == _CLIENT_BLOCK, lRequest)) return (pfnCrtAllocHook)(nAllocType, pvData, nSize, nBlockUse, lRequest, (const unsigned char*) szFilename, nLine); #else if (nAllocType != _HOOK_ALLOC) return (pfnCrtAllocHook)(nAllocType, pvData, nSize, nBlockUse, lRequest, szFilename, nLine); if ((pfnAllocHook)(nSize, _BLOCK_TYPE(nBlockUse) == _CLIENT_BLOCK, lRequest)) return (pfnCrtAllocHook)(nAllocType, pvData, nSize, nBlockUse, lRequest, szFilename, nLine); #endif return FALSE; }