/*========================================================================= * * MacroMlt.h - Macros for memory * * Version 1.0 * Revision date * *=======================================================================*/ #ifndef __MEMMlt_H__ #define __MEMMlt_H__ #define M_MltInitMem() Mem_M_SetModeAlloc(Mlt, E_ucDynamic) #define M_MltAlloc(Var, cast, ulSize)\ {\ M_MltInitMem();\ Var = (cast) Mem_fn_p_vAlloc(ulSize);\ if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\ Erm_M_ClearLastError(C_ucErmDefaultChannel);\ Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\ }\ } #define M_MltAllocWithoutInitMem(Var, cast, ulSize)\ {\ Var = (cast) Mem_fn_p_vAlloc(ulSize);\ if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\ Erm_M_ClearLastError(C_ucErmDefaultChannel);\ Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\ }\ } #define M_MltRealloc(Var, AdrSrc, cast, ulSize)\ {\ M_MltInitMem();\ Var = (cast) Mem_fn_p_vRealloc(AdrSrc, ulSize);\ if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\ Erm_M_ClearLastError(C_ucErmDefaultChannel);\ Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\ }\ } #define M_MltReallocWithoutInitMem(Var, AdrSrc, cast, ulSize)\ {\ Var = (cast) Mem_fn_p_vRealloc(AdrSrc, ulSize);\ if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\ Erm_M_ClearLastError(C_ucErmDefaultChannel);\ Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltFatalFailedAllocationMem, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\ }\ } #define M_MltFree(p_cAdr) \ {\ M_MltInitMem();\ Mem_fn_vFree(p_cAdr);\ if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\ Erm_M_ClearLastError(C_ucErmDefaultChannel);\ Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltWarningCanNotFree, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\ }\ } #define M_MltFreeWithoutInitMem(p_cAdr) \ {\ Mem_fn_vFree(p_cAdr);\ if (Erm_M_uwCheckError(Mem, C_ucErmDefaultChannel)){\ Erm_M_ClearLastError(C_ucErmDefaultChannel);\ Erm_M_UpdateLastError(Mlt, C_ucErmDefaultChannel, E_uwMltWarningCanNotFree, C_lErmNoDebugData, C_ucErmOpenInfoWindow, C_ucAllowStopForDebug, NULL);\ }\ } #endif // __MEMMlt_H__