#ifndef HAVE_ESPIK_DEBUG_H #define HAVE_ESPIK_DEBUG_H #include "espik_global.h" #define DEBUG_PRINT_FILENO stdout #define DEBUG_ENTLEV_FILENO stderr #if defined (_ESPIK_DEBUG_) && defined (__GNUC__) #define espik_debug_print(fmt, ...) \ { \ fprintf (DEBUG_PRINT_FILENO, "%s +%i @%s: '", __FILE__, __LINE__, \ __func__); \ fprintf (DEBUG_PRINT_FILENO, fmt, ##__VA_ARGS__); \ fprintf (DEBUG_PRINT_FILENO, "'\n"); \ } #else #define espik_debug_print(fmt, ...) \ { \ } #endif /* _ESPIK_DEBUG_ && __GNUC__ */ #ifdef _ESPIK_DEBUG_ int __indent_level; #define espik_enter() \ { \ __indent_level++; \ fprintf (DEBUG_ENTLEV_FILENO, ">%*c%s +%i @%s\n", __indent_level, ' ', \ __FILE__, __LINE__, __func__); \ } //#define espik_enter() {} #define espik_leave() \ { \ fprintf (DEBUG_ENTLEV_FILENO, "<%*c%s +%i @%s\n", __indent_level, ' ', \ __FILE__, __LINE__, __func__); \ __indent_level--; \ } //#define espik_leave() {} #else #define espik_enter() \ { \ } #define espik_leave() \ { \ } #endif /* _ESPIK_DEBUG_ */ #if 0 inline void espik_bt (void); void espik_debug_init(); void kill_me (short num); #endif #endif /* HAVE_ESPIK_DEBUG_H */