#ifndef _DEBUG_H #define _DEBUG_H #include #if defined(DEBUG) && DEBUG > 0 #define _DEBUG_H_DRED "\x1B[31m" #define _DEBUG_H_DNRM "\x1B[0m" #define DEBUG_PRINT(fmt, ...) fprintf(stderr, "[-] %s:%d:%s(): " fmt, \ __FILE__, __LINE__, __func__, ##__VA_ARGS__) #define DDEBUG_PRINT(fmt, ...) fprintf(stderr, "[_] %s:%d:%s(): " fmt, \ __FILE__, __LINE__, __func__, ##__VA_ARGS__) #define DEBUG_ERROR(fmt, ...) fprintf(stderr, "\n"_DEBUG_H_DRED"[!]"_DEBUG_H_DNRM" %s:%d:%s(): E.%d " fmt, \ __FILE__, __LINE__, __func__, ##__VA_ARGS__) #define COLORTEST() fprintf(stderr, "Color Palate:\n" \ KRED"KRED"KGRN"KGRN"KYEL"KYEL"KBLU"KBLU"KMAG"KMAG"KCYN"KCYN"KWHT"KWHT"KNRM"\n" \ KRED"▒▒▒▒"KGRN"▒▒▒▒"KYEL"▒▒▒▒"KBLU"▒▒▒▒"KMAG"▒▒▒▒"KCYN"▒▒▒▒"KWHT"▒▒▒▒"KNRM"\n" \ KRED"████"KGRN"████"KYEL"████"KBLU"████"KMAG"████"KCYN"████"KWHT"████"KNRM"\n" \ BKRED"KRED"BKGRN"KGRN"BKYEL"KYEL"BKBLU"KBLU"BKMAG"KMAG"BKCYN"KCYN"BKWHT"KWHT"KNRM"\n" ) #else #define DEBUG_PRINT(fmt, args...) /* Don't do anything in release builds */ #define DDEBUG_PRINT(fmt, args...) #define DEBUG_ERROR(fmt, args...) #define COLORTEST() #endif #endif