1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
# ifdef DEB
# undef DEB
# undef SDEB
# undef LDEB
# undef XDEB
# undef FDEB
# undef SSDEB
# undef LLDEB
# undef FLDEB
# undef XXDEB
# undef SLDEB
# undef SFDEB
# undef LSDEB
# undef SXDEB
# undef XSDEB
# undef LFDEB
# undef FFDEB
# undef LCDEB
# endif
# define DEBFUN printf
# ifdef DEBUG
# include <ctype.h>
# define DEB(x) (x,fflush(stdout))
# else
# define DEB(x)
# endif
# define DEBS(sa) (sa)?"\"":"", (sa)?(sa):"0x0", (sa)?"\"":""
# define SDEB(st) DEB(DEBFUN( "%s(%3d) %s=%s%s%s\n", \
__FILE__, __LINE__, \
#st, DEBS(st) ))
# define LDEB(l) DEB(DEBFUN( "%s(%3d) %s=%ld\n", \
__FILE__, __LINE__, \
#l, (long)(l) ))
# define ODEB(l) DEB(DEBFUN( "%s(%3d) %s=0%lo\n", \
__FILE__, __LINE__, \
#l, (long)(l) ))
# define XDEB(l) DEB(DEBFUN( "%s(%3d) %s=0x%lx\n", \
__FILE__, __LINE__, \
#l, (long)(l) ))
# define FDEB(d) DEB(DEBFUN( "%s(%3d) %s=%g\n", \
__FILE__, __LINE__, \
#d, (double)(d) ))
# define CDEB(ch) DEB(DEBFUN( "%s(%3d) %s=0x%02x%c%c\n", \
__FILE__, __LINE__, \
#ch, (ch)&0xff, isprint((ch))?'=':' ', \
isprint((ch))?(ch):' '))
# define CLDEB(c1,l2) DEB(DEBFUN( "%s(%3d) %s=0x%02x%c%c %s=%ld\n", \
__FILE__, __LINE__, \
#c1, (c1)&0xff, isprint((c1))?'=':' ', \
isprint((c1))?(c1):' ', \
#l2, (long)(l2) ))
# define CCDEB(c1,c2) DEB(DEBFUN( "%s(%3d) %s=0x%02x%c%c\t%s=0x%02x%c%c\n", \
__FILE__, __LINE__, \
#c1, (c1)&0xff, isprint((c1))?'=':' ', \
isprint((c1))?(c1):' ', \
#c2, (c2)&0xff, isprint((c2))?'=':' ', \
isprint((c2))?(c2):' '))
# define SSDEB(s1,s2) DEB(DEBFUN( "%s(%3d) %s=%s%s%s %s=%s%s%s\n", \
__FILE__, __LINE__, \
#s1, DEBS(s1), \
#s2, DEBS(s2) ))
# define LLDEB(l1,l2) DEB(DEBFUN( "%s(%3d) %s=%ld %s=%ld\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#l2, (long)(l2) ))
# define FLDEB(d1,l2) DEB(DEBFUN( "%s(%3d) %s=%g %s=%ld\n", \
__FILE__, __LINE__, \
#d1, (double)(d1), \
#l2, (long)(l2) ))
# define XXDEB(l1,l2) DEB(DEBFUN( "%s(%3d) %s=0x%lx %s=0x%lx\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#l2, (long)(l2) ))
# define XLDEB(l1,l2) DEB(DEBFUN( "%s(%3d) %s=0x%lx %s=%ld\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#l2, (long)(l2) ))
# define LXDEB(l1,l2) DEB(DEBFUN( "%s(%3d) %s=%ld %s=0x%lx\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#l2, (long)(l2) ))
# define SLDEB(s1,l2) DEB(DEBFUN( "%s(%3d) %s=%s%s%s %s=%ld\n", \
__FILE__, __LINE__, \
#s1, DEBS(s1), \
#l2, (long)(l2) ))
# define SFDEB(s1,d2) DEB(DEBFUN( "%s(%3d) %s=%s%s%s %s=%g\n", \
__FILE__, __LINE__, \
#s1, (s1)?"\"":"", (s1)?(s1):"0x0", (s1)?"\"":"", \
#d2, (double)(d2) ))
# define LSDEB(l1,s2) DEB(DEBFUN( "%s(%3d) %s=%ld %s=%s%s%s\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#s2, (s2)?"\"":"", (s2)?(s2):"0x0", (s2)?"\"":"" ))
# define SXDEB(s1,l2) DEB(DEBFUN( "%s(%3d) %s=%s%s%s %s=0x%lx\n", \
__FILE__, __LINE__, \
#s1, (s1)?"\"":"", (s1)?(s1):"0x0", (s1)?"\"":"", \
#l2, (long)(l2) ))
# define XSDEB(l1,s2) DEB(DEBFUN( "%s(%3d) %s=0x%lx %s=%s%s%s\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#s2, (s2)?"\"":"", (s2)?(s2):"0x0", (s2)?"\"":"" ))
# define LFDEB(l1,d2) DEB(DEBFUN( "%s(%3d) %s=%ld %s=%g\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), #d2, (double)(d2) ))
# define FFDEB(d1,d2) DEB(DEBFUN( "%s(%3d) %s=%g %s=%g\n", \
__FILE__, __LINE__, \
#d1, (double)(d1), #d2, (double)(d2) ))
# define LCDEB(l1,c2) DEB(DEBFUN( "%s(%3d) %s=%ld %s='%c'\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), #c2, (int)(c2) ))
# define SLLDEB(s1,l2,l3) DEB(DEBFUN( "%s(%3d) %s=%s%s%s %s=%ld %s=%ld\n", \
__FILE__, __LINE__, \
#s1, DEBS(s1), \
#l2, (long)(l2), \
#l3, (long)(l3) ))
# define LLLDEB(l1,l2,l3) DEB(DEBFUN( "%s(%3d) %s=%ld %s=%ld %s=%ld\n", \
__FILE__, __LINE__, \
#l1, (long)(l1), \
#l2, (long)(l2), \
#l3, (long)(l3) ))
|