| 1 | #ifndef SH_TRACE_H | 
|---|
| 2 | #define SH_TRACE_H | 
|---|
| 3 |  | 
|---|
| 4 |  | 
|---|
| 5 | /* This file should be included via samhain.h only. | 
|---|
| 6 | */ | 
|---|
| 7 | #ifdef SL_DEBUG | 
|---|
| 8 | #define SDG_0RETU _("return.\n") | 
|---|
| 9 | #define SDG_TERRO _("ERROR: file=<%s>, line=<%d>, reason=<%s>\n") | 
|---|
| 10 | #define SDG_AERRO _("ERROR: file=<%s>, line=<%d>, failed_assertion=<%s>\n") | 
|---|
| 11 | #define SDG_AFAIL _("FAILED: file=<%s>, line=<%d>, assertion=<%s>\n") | 
|---|
| 12 | #define SDG_ENTER _("enter=<%s>\n") | 
|---|
| 13 | #define SDG_RETUR _("return=<%s>.\n") | 
|---|
| 14 | #define SDG_ERROR _("error=<%ld>.\n") | 
|---|
| 15 | #endif | 
|---|
| 16 |  | 
|---|
| 17 | #ifdef SL_DEBUG | 
|---|
| 18 | #define ASSERT(expr, expr1) \ | 
|---|
| 19 | if (!(expr)) \ | 
|---|
| 20 | { \ | 
|---|
| 21 | fprintf(stderr,            \ | 
|---|
| 22 | SDG_AERRO, \ | 
|---|
| 23 | FIL__, __LINE__, expr1 ); \ | 
|---|
| 24 | abort(); \ | 
|---|
| 25 | } | 
|---|
| 26 |  | 
|---|
| 27 |  | 
|---|
| 28 | #define ASSERT_RET(expr, expr1, rr) \ | 
|---|
| 29 | if (!(expr)) \ | 
|---|
| 30 | { \ | 
|---|
| 31 | fprintf(stderr, \ | 
|---|
| 32 | SDG_AERRO, \ | 
|---|
| 33 | FIL__, __LINE__, expr1 ); \ | 
|---|
| 34 | TPT(( (-1), FIL__, __LINE__, SDG_0RETU))      \ | 
|---|
| 35 | return (rr); \ | 
|---|
| 36 | } | 
|---|
| 37 | #else | 
|---|
| 38 | #define ASSERT(expr, expr1) | 
|---|
| 39 |  | 
|---|
| 40 | #define ASSERT_RET(expr, expr1, rr) \ | 
|---|
| 41 | if (!(expr)) return (rr); | 
|---|
| 42 | #endif | 
|---|
| 43 |  | 
|---|
| 44 |  | 
|---|
| 45 | #ifdef SL_DEBUG | 
|---|
| 46 | #define TX1(expr1) \ | 
|---|
| 47 | fprintf(stderr, \ | 
|---|
| 48 | SDG_TERRO, \ | 
|---|
| 49 | FIL__, __LINE__, expr1 ); | 
|---|
| 50 | #else | 
|---|
| 51 | #define TX1(expr1) | 
|---|
| 52 | #endif | 
|---|
| 53 |  | 
|---|
| 54 | /* #ifndef SH_TRACE_H */ | 
|---|
| 55 | #endif | 
|---|
| 56 |  | 
|---|