/src/zziplib/zzip/__debug.h

https://bitbucket.org/cabalistic/ogredeps/ · C++ Header · 89 lines · 75 code · 12 blank · 2 comment · 1 complexity · a01f46b62d6f1199960b7de1fe7fc2e6 MD5 · raw file

  1. #ifndef __ZZIP_INTERNAL_DEBUG_H
  2. #define __ZZIP_INTERNAL_DEBUG_H
  3. #include <zzip/conf.h>
  4. #include <zzip/__hints.h>
  5. /* perhaps want to show on syslog(3) ?? */
  6. #ifdef DEBUG
  7. #include <stdio.h>
  8. #define DBG1(X1) ZZIP_FOR1 { \
  9. fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \
  10. ); } ZZIP_END1
  11. #define DBG2(X1,X2) ZZIP_FOR1 { \
  12. fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \
  13. ,X2);} ZZIP_END1
  14. #define DBG3(X1,X2,X3) ZZIP_FOR1 { \
  15. fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \
  16. ,X2,X3); } ZZIP_END1
  17. #define DBG4(X1,X2,X3,X4) ZZIP_FOR1 { \
  18. fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \
  19. ,X2,X3,X4); } ZZIP_END1
  20. #define DBG5(X1,X2,X3,X4,X5) ZZIP_FOR1 { \
  21. fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \
  22. ,X2,X3,X4,X5); } ZZIP_END1
  23. #define DBG6(X1,X2,X3,X4,X5,X6) ZZIP_FOR1 { \
  24. fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \
  25. ,X2,X3,X4,X5,X6); } ZZIP_END1
  26. #else
  27. #define DBG1(X1) {}
  28. #define DBG2(X1,X2) {}
  29. #define DBG3(X1,X2,X3) {}
  30. #define DBG4(X1,X2,X3,X4) {}
  31. #define DBG5(X1,X2,X3,X4,X5) {}
  32. #define DBG6(X1,X2,X3,X4,X5,X6) {}
  33. #endif
  34. #define HINT1(X1) DBG1("HINT: " X1)
  35. #define HINT2(X1,X2) DBG2("HINT: " X1,X2)
  36. #define HINT3(X1,X2,X3) DBG3("HINT: " X1,X2,X3)
  37. #define HINT4(X1,X2,X3,X4) DBG4("HINT: " X1,X2,X3,X4)
  38. #define HINT5(X1,X2,X3,X4,X5) DBG5("HINT: " X1,X2,X3,X4,X5)
  39. #define HINT6(X1,X2,X3,X4,X5,X6) DBG6("HINT: " X1,X2,X3,X4,X5,X6)
  40. #define NOTE1(X1) DBG1("NOTE: " X1)
  41. #define NOTE2(X1,X2) DBG2("NOTE: " X1,X2)
  42. #define NOTE3(X1,X2,X3) DBG3("NOTE: " X1,X2,X3)
  43. #define NOTE4(X1,X2,X3,X4) DBG4("NOTE: " X1,X2,X3,X4)
  44. #define NOTE5(X1,X2,X3,X4,X5) DBG5("NOTE: " X1,X2,X3,X4,X5)
  45. #define NOTE6(X1,X2,X3,X4,X5,X6) DBG6("NOTE: " X1,X2,X3,X4,X5,X6)
  46. #define WARN1(X1) DBG1("WARN: " X1)
  47. #define WARN2(X1,X2) DBG2("WARN: " X1,X2)
  48. #define WARN3(X1,X2,X3) DBG3("WARN: " X1,X2,X3)
  49. #define WARN4(X1,X2,X3,X4) DBG4("WARN: " X1,X2,X3,X4)
  50. #define WARN5(X1,X2,X3,X4,X5) DBG5("WARN: " X1,X2,X3,X4,X5)
  51. #define WARN6(X1,X2,X3,X4,X5,X6) DBG6("WARN: " X1,X2,X3,X4,X5,X6)
  52. #define FAIL1(X1) DBG1("FAIL: " X1)
  53. #define FAIL2(X1,X2) DBG2("FAIL: " X1,X2)
  54. #define FAIL3(X1,X2,X3) DBG3("FAIL: " X1,X2,X3)
  55. #define FAIL4(X1,X2,X3,X4) DBG4("FAIL: " X1,X2,X3,X4)
  56. #define FAIL5(X1,X2,X3,X4,X5) DBG5("FAIL: " X1,X2,X3,X4,X5)
  57. #define FAIL6(X1,X2,X3,X4,X5,X6) DBG6("FAIL: " X1,X2,X3,X4,X5,X6)
  58. #ifdef DEBUG
  59. _zzip_inline static void zzip_debug_xbuf (unsigned char* p, int l)
  60. /* ZZIP_GNUC_UNUSED */
  61. {
  62. # define q(a) ((a&0x7F)<32?32:(a&0x7F))
  63. while (l > 0)
  64. {
  65. fprintf (stderr,
  66. "%02x %02x %02x %02x "
  67. "%02x %02x %02x %02x "
  68. "%c%c%c%c %c%c%c%c\n",
  69. p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7],
  70. q(p[0]), q(p[1]), q(p[2]), q(p[3]),
  71. q(p[4]), q(p[5]), q(p[6]), q(p[7]));
  72. p += 8; l -= 8;
  73. }
  74. # undef q
  75. }
  76. #endif
  77. #endif