scan.h 824 B

12345678910111213141516171819202122232425262728
  1. #ifndef __SCAN_H__
  2. #define __SCAN_H__
  3. #include <stdio.h>
  4. #include <errno.h>
  5. extern int verbosity;
  6. #define dprintf(level, fmt...) \
  7. do { \
  8. if (level <= verbosity) \
  9. fprintf(stderr, fmt); \
  10. } while (0)
  11. #define dpprintf(level, fmt, args...) \
  12. dprintf(level, "%s:%d: " fmt, __FUNCTION__, __LINE__ , ##args)
  13. #define fatal(fmt, args...) do { dpprintf(-1, "FATAL: " fmt , ##args); exit(1); } while(0)
  14. #define error(msg...) dprintf(0, "ERROR: " msg)
  15. #define errorn(msg) dprintf(0, "%s:%d: ERROR: " msg ": %d %m\n", __FUNCTION__, __LINE__, errno)
  16. #define warning(msg...) dprintf(1, "WARNING: " msg)
  17. #define info(msg...) dprintf(2, msg)
  18. #define verbose(msg...) dprintf(3, msg)
  19. #define moreverbose(msg...) dprintf(4, msg)
  20. #define debug(msg...) dpprintf(5, msg)
  21. #define verbosedebug(msg...) dpprintf(6, msg)
  22. #endif