mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-30 11:54:57 +00:00
69 lines
1.5 KiB
C
69 lines
1.5 KiB
C
/*
|
|
* 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* );
|
|
|