/******************************************************************************* * debug.h: vlc debug macros * (c)1999 VideoLAN ******************************************************************************* * Stand alone file ******************************************************************************* * Required headers: * - * - intf_msg.h *******************************************************************************/ /******************************************************************************* * ASSERT ******************************************************************************* * This macro is used to test that a pointer is not nul. It insert the needed * code when the program is compiled with the debug option, but does nothing * in release program. *******************************************************************************/ #ifdef DEBUG #define ASSERT(p_Mem) \ if (!(p_Mem)) \ intf_ErrMsg("Void pointer error: %s line %d (variable %s at address %p)\n", \ __FILE__, __LINE__, #p_Mem, &p_Mem); #else #define ASSERT(p_Mem) #endif /******************************************************************************* * RZERO ******************************************************************************* * This macro is used to initialise a variable to 0. It is very useful when * used with the ASSERT macro. It also only insert the needed code when the * program is compiled with the debug option. *******************************************************************************/ #ifdef DEBUG #define RZERO(r_Var) \ bzero(&(r_Var), sizeof((r_Var))); #else #define RZERO(r_Var) #endif /******************************************************************************* * PZERO ******************************************************************************* * This macro is used to initiase the memory pointed out by a pointer to 0. * It has the same purpose than RZERO, but for pointers. *******************************************************************************/ #ifdef DEBUG #define PZERO(p_Mem) \ bzero((p_Mem), sizeof(*(p_Mem))); #else #define PZERO(p_Mem) #endif /******************************************************************************* * AZERO ******************************************************************************* * This macro is used to initiase an array of variables to 0. * It has the same purpose than RZERO or PZERO, but for array *******************************************************************************/ #ifdef DEBUG #define AZERO(p_Array, i_Size) \ bzero((p_Array), (i_Size)*sizeof(*(p_Array))); #else #define ZERO(p_Array, i_Size) #endif