diff --git a/bzip2.c b/bzip2.c
index d95d280..7852cc4 100644
--- a/bzip2.c
+++ b/bzip2.c
@@ -1070,7 +1070,11 @@ void applySavedFileAttrToOutputFile ( IntNative fd )
retVal = fchmod ( fd, fileMetaInfo.st_mode );
ERROR_IF_NOT_ZERO ( retVal );
- (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
+#if __GNUC__
+ int unused __attribute__((unused));
+ unused =
+#endif
+ fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
/* chown() will in many cases return with EPERM, which can
be safely ignored.
*/
diff --git a/bzip2recover.c b/bzip2recover.c
index a8131e0..0925048 100644
--- a/bzip2recover.c
+++ b/bzip2recover.c
@@ -153,7 +153,7 @@ typedef
/*---------------------------------------------*/
static BitStream* bsOpenReadStream ( FILE* stream )
{
- BitStream *bs = malloc ( sizeof(BitStream) );
+ BitStream *bs = (BitStream *) malloc ( sizeof(BitStream) );
if (bs == NULL) mallocFail ( sizeof(BitStream) );
bs->handle = stream;
bs->buffer = 0;
@@ -166,7 +166,7 @@ static BitStream* bsOpenReadStream ( FILE* stream )
/*---------------------------------------------*/
static BitStream* bsOpenWriteStream ( FILE* stream )
{
- BitStream *bs = malloc ( sizeof(BitStream) );
+ BitStream *bs = (BitStream *) malloc ( sizeof(BitStream) );
if (bs == NULL) mallocFail ( sizeof(BitStream) );
bs->handle = stream;
bs->buffer = 0;
diff --git a/bzlib.c b/bzlib.c
index 2178655..aaf1b40 100644
--- a/bzlib.c
+++ b/bzlib.c
@@ -165,7 +165,7 @@ int BZ_API(BZ2_bzCompressInit)
if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
- s = BZALLOC( sizeof(EState) );
+ s = (EState*) BZALLOC( sizeof(EState) );
if (s == NULL) return BZ_MEM_ERROR;
s->strm = strm;
@@ -174,9 +174,9 @@ int BZ_API(BZ2_bzCompressInit)
s->ftab = NULL;
n = 100000 * blockSize100k;
- s->arr1 = BZALLOC( n * sizeof(UInt32) );
- s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
- s->ftab = BZALLOC( 65537 * sizeof(UInt32) );
+ s->arr1 = (UInt32*) BZALLOC( n * sizeof(UInt32) );
+ s->arr2 = (UInt32*) BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
+ s->ftab = (UInt32*) BZALLOC( 65537 * sizeof(UInt32) );
if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
if (s->arr1 != NULL) BZFREE(s->arr1);
@@ -362,7 +362,7 @@ Bool handle_compress ( bz_stream* strm )
{
Bool progress_in = False;
Bool progress_out = False;
- EState* s = strm->state;
+ EState* s = (EState*) strm->state;
while (True) {
@@ -409,7 +409,7 @@ int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
Bool progress;
EState* s;
if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
+ s = (EState*) strm->state;
if (s == NULL) return BZ_PARAM_ERROR;
if (s->strm != strm) return BZ_PARAM_ERROR;
@@ -469,7 +469,7 @@ int BZ_API(BZ2_bzCompressEnd) ( bz_stream *strm )
{
EState* s;
if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
+ s = (EState*) strm->state;
if (s == NULL) return BZ_PARAM_ERROR;
if (s->strm != strm) return BZ_PARAM_ERROR;
@@ -505,7 +505,7 @@ int BZ_API(BZ2_bzDecompressInit)
if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
- s = BZALLOC( sizeof(DState) );
+ s = (DState*) BZALLOC( sizeof(DState) );
if (s == NULL) return BZ_MEM_ERROR;
s->strm = strm;
strm->state = s;
@@ -684,7 +684,10 @@ Bool unRLE_obuf_to_output_FAST ( DState* s )
/*---------------------------------------------------*/
-__inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
+#ifndef __cplusplus
+__inline__
+#endif
+Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
{
Int32 nb, na, mid;
nb = 0;
@@ -810,7 +813,7 @@ int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
Bool corrupt;
DState* s;
if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
+ s = (DState*) strm->state;
if (s == NULL) return BZ_PARAM_ERROR;
if (s->strm != strm) return BZ_PARAM_ERROR;
@@ -863,7 +866,7 @@ int BZ_API(BZ2_bzDecompressEnd) ( bz_stream *strm )
{
DState* s;
if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
+ s = (DState*) strm->state;
if (s == NULL) return BZ_PARAM_ERROR;
if (s->strm != strm) return BZ_PARAM_ERROR;
@@ -934,7 +937,7 @@ BZFILE* BZ_API(BZ2_bzWriteOpen)
if (ferror(f))
{ BZ_SETERR(BZ_IO_ERROR); return NULL; };
- bzf = malloc ( sizeof(bzFile) );
+ bzf = (bzFile*) malloc ( sizeof(bzFile) );
if (bzf == NULL)
{ BZ_SETERR(BZ_MEM_ERROR); return NULL; };
@@ -982,7 +985,7 @@ void BZ_API(BZ2_bzWrite)
{ BZ_SETERR(BZ_OK); return; };
bzf->strm.avail_in = len;
- bzf->strm.next_in = buf;
+ bzf->strm.next_in = (char*)buf;
while (True) {
bzf->strm.avail_out = BZ_MAX_UNUSED;
@@ -1107,7 +1110,7 @@ BZFILE* BZ_API(BZ2_bzReadOpen)
if (ferror(f))
{ BZ_SETERR(BZ_IO_ERROR); return NULL; };
- bzf = malloc ( sizeof(bzFile) );
+ bzf = (bzFile*) malloc ( sizeof(bzFile) );
if (bzf == NULL)
{ BZ_SETERR(BZ_MEM_ERROR); return NULL; };
@@ -1179,7 +1182,7 @@ int BZ_API(BZ2_bzRead)
{ BZ_SETERR(BZ_OK); return 0; };
bzf->strm.avail_out = len;
- bzf->strm.next_out = buf;
+ bzf->strm.next_out = (char*) buf;
while (True) {
diff --git a/bzlib_private.h b/bzlib_private.h
index 3755a6f..2578c2d 100644
--- a/bzlib_private.h
+++ b/bzlib_private.h
@@ -128,7 +128,7 @@ extern void bz_internal_error ( int errcode );
/*-- Stuff for randomising repetitive blocks. --*/
-extern Int32 BZ2_rNums[512];
+extern const Int32 BZ2_rNums[512];
#define BZ_RAND_DECLS \
Int32 rNToGo; \
@@ -152,7 +152,7 @@ extern Int32 BZ2_rNums[512];
/*-- Stuff for doing CRCs. --*/
-extern UInt32 BZ2_crc32Table[256];
+extern const UInt32 BZ2_crc32Table[256];
#define BZ_INITIALISE_CRC(crcVar) \
{ \
diff --git a/crctable.c b/crctable.c
index 2b33c25..a9212db 100644
--- a/crctable.c
+++ b/crctable.c
@@ -28,7 +28,7 @@
comp.compression FAQ.
--*/
-UInt32 BZ2_crc32Table[256] = {
+const UInt32 BZ2_crc32Table[256] = {
/*-- Ugly, innit? --*/
diff --git a/decompress.c b/decompress.c
index a1a0bac..5afd651 100644
--- a/decompress.c
+++ b/decompress.c
@@ -209,13 +209,13 @@ Int32 BZ2_decompress ( DState* s )
s->blockSize100k -= BZ_HDR_0;
if (s->smallDecompress) {
- s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
- s->ll4 = BZALLOC(
+ s->ll16 = (UInt16*) BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
+ s->ll4 = (UChar*) BZALLOC(
((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
);
if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
} else {
- s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
+ s->tt = (UInt32*) BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
}
diff --git a/randtable.c b/randtable.c
index bdc6d4a..70666a1 100644
--- a/randtable.c
+++ b/randtable.c
@@ -23,7 +23,7 @@
/*---------------------------------------------*/
-Int32 BZ2_rNums[512] = {
+const Int32 BZ2_rNums[512] = {
619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
733, 859, 335, 708, 621, 574, 73, 654, 730, 472,