#include #include #include #include "../include/zp_debug.h" static FILE *zp_debugout = NULL; static int zp_debugconfig[NUM_ZP_MODULES]; static int zp_debug_initialized = 0; static void ZPDebug_default_config(void){ int i; zp_debugout = stdout; for (i = 0; i < NUM_ZP_MODULES; i++) { zp_debugconfig[i] = ZP_DEBUG_DEFAULT_LEVEL; } } void ZPDebug_init(){ #ifndef ZAPPER_RELEASE if (zp_debug_initialized){ return; } ZPDebug_default_config(); zp_debug_initialized = 1; #endif //ZAPPER_RELEASE } void ZPDebug_set_level(ZPModules mod, int level) { #ifndef ZAPPER_RELEASE if (mod < NUM_ZP_MODULES){ zp_debugconfig[mod] = level; } #endif //ZAPPER_RELEASE } inline void ZPDebug(ZPModules mod, int level, const char* fmt, ...) { #ifndef ZAPPER_RELEASE va_list args; if (! zp_debug_initialized){ return; } if (mod >= NUM_ZP_MODULES){ return; } if (level <= zp_debugconfig[mod]) { va_start(args, fmt); fprintf(zp_debugout,"%s:", ZP_MODULE_NAMES[mod].name); vfprintf(zp_debugout, fmt, args); va_end(args); } #endif //ZAPPER_RELEASE }