I am trying to extend functionality of the MSVCRTD_operator_new_dbg(), so did #include "msvcrt/crtdbg.h" in the file dlls/msvcrtd/debug.c . Is that OK?
I have found some differences in used parameter types of some functions, like:
int <-> long int. void (*) <-> void (__cdecl *_CRT_DUMP_CLIENT) (void *, size_t)
Then I see all the declared function are defined to be non-operational:
| #endif /* _DEBUG */ | | #define _CrtCheckMemory() ((int)1) | #define _CrtDbgReport(...) ((int)0) | #define _CrtDoForAllClientObjects(f,c) ((void)0) | #define _CrtDumpMemoryLeaks() ((int)0)
Yet then I see lots of declared functions are prefixed with __cdecl and _CRTIMP prefixes.
| #ifndef _CRTIMP | #ifdef _DLL | #define _CRTIMP __declspec(dllimport) | #else /* ndef _DLL */ | #define _CRTIMP | #endif /* _DLL */ | #endif /* _CRTIMP */
Do we need to sync crtdbg.h with native one? What parts then, all mentioned? (Maybe I should direct this q exceptionally to Alexandre)