| /* |
| * THIS FILE IS NOT IDENTICAL TO THE ORIGINAL |
| * FROM THE BZIP2 DISTRIBUTION. |
| * |
| * It has been modified, mainly to break the library |
| * into smaller pieces. |
| * |
| * Russ Cox |
| * rsc@plan9.bell-labs.com |
| * July 2000 |
| */ |
| |
| extern void BZ2_bz__AssertH__fail ( int errcode ); |
| |
| /* undo definitions in bzlib_private.h */ |
| #undef AssertH |
| #undef AssertD |
| #undef VPrintf0 |
| #undef VPrintf1 |
| #undef VPrintf2 |
| #undef VPrintf3 |
| #undef VPrintf4 |
| #undef VPrintf5 |
| |
| #define AssertH(cond,errcode) \ |
| { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); } |
| #if BZ_DEBUG |
| #define AssertD(cond,msg) \ |
| { if (!(cond)) { \ |
| fprintf ( stderr, \ |
| "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\ |
| exit(1); \ |
| }} |
| #else |
| #define AssertD(cond,msg) /* */ |
| #endif |
| #define VPrintf0(zf) \ |
| fprintf(stderr,zf) |
| #define VPrintf1(zf,za1) \ |
| fprintf(stderr,zf,za1) |
| #define VPrintf2(zf,za1,za2) \ |
| fprintf(stderr,zf,za1,za2) |
| #define VPrintf3(zf,za1,za2,za3) \ |
| fprintf(stderr,zf,za1,za2,za3) |
| #define VPrintf4(zf,za1,za2,za3,za4) \ |
| fprintf(stderr,zf,za1,za2,za3,za4) |
| #define VPrintf5(zf,za1,za2,za3,za4,za5) \ |
| fprintf(stderr,zf,za1,za2,za3,za4,za5) |
| |
| #define BZ_SETERR(eee) \ |
| { \ |
| if (bzerror != NULL) *bzerror = eee; \ |
| if (bzf != NULL) bzf->lastErr = eee; \ |
| } |
| |
| typedef |
| struct { |
| FILE* handle; |
| Char buf[BZ_MAX_UNUSED]; |
| Int32 bufN; |
| Bool writing; |
| bz_stream strm; |
| Int32 lastErr; |
| Bool initialisedOk; |
| } |
| bzFile; |
| |
| extern Bool bz_feof( FILE* ); |
| |