1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25 26The source in this directory has been derived from libbzip2 version 271.0.6 downloaded from http://www.bzip.org. 28 29In an effort to provide ease of syncing with the upstream code, this 30source hasn't changed much. The usual Solaris coding standards have 31been waived. It does not pass cstyle. But, enough modifications were 32made so that the code does compile and lint cleanly. 33 34Some modifications have been made for use in the Solaris kernel: 351) compilation errors were corrected 362) lint complaints were fixed 373) a few utility interfaces were added 38 BZ2_bzCompressInitSize 39 BZ2_bzCompressReset 40 BZ2_bzDecompressReset 41 BZ2_bzErrorString 42 43 44Here is a complete list of changes made by Sun to the original 1.0.6 45source: 46 47diff -u bzip2-1.0.6/bzlib.c ./bzlib.c 48--- bzip2-1.0.6/bzlib.c Fri Sep 10 18:38:23 2010 49+++ ./bzlib.c Wed Dec 29 20:47:11 2010 50@@ -96,11 +96,89 @@ 51 return 1; 52 } 53 54+/* 55+ * Added for Solaris kernel 56+ */ 57+#define BZES \ 58+BZE(BZ_OK) \ 59+BZE(BZ_RUN_OK) \ 60+BZE(BZ_FLUSH_OK) \ 61+BZE(BZ_FINISH_OK) \ 62+BZE(BZ_STREAM_END) \ 63+BZE(BZ_SEQUENCE_ERROR) \ 64+BZE(BZ_PARAM_ERROR) \ 65+BZE(BZ_MEM_ERROR) \ 66+BZE(BZ_DATA_ERROR) \ 67+BZE(BZ_DATA_ERROR_MAGIC) \ 68+BZE(BZ_IO_ERROR) \ 69+BZE(BZ_UNEXPECTED_EOF) \ 70+BZE(BZ_OUTBUFF_FULL) \ 71+BZE(BZ_CONFIG_ERROR) 72 73+BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 74+ int error_code 75+ ) 76+{ 77+ switch (error_code) 78+ { 79+#define BZE(x) case x: return (#x); 80+BZES 81+#undef BZE 82+ } 83+ return ("BZ_UNKNOWN_ERROR"); 84+} 85+ 86+#include <sys/sysmacros.h> 87+ 88+#ifdef _KERNEL 89+ 90+#include <sys/types.h> 91+#include <sys/cmn_err.h> 92+#include <sys/kmem.h> 93+ 94+void 95+bz_internal_error(int errcode) 96+{ 97+ panic("bzip2 internal error: %s\n", BZ2_bzErrorString(errcode)); 98+} 99+ 100 /*---------------------------------------------------*/ 101+typedef struct { 102+ char *buf; 103+ size_t sz; 104+} bzap; 105+ 106 static 107 void* default_bzalloc ( void* opaque, Int32 items, Int32 size ) 108 { 109+ size_t sz = sizeof (bzap) + BZ2_BZALLOC_ALIGN + (items * size); 110+ uintptr_t p = (uintptr_t)kmem_alloc(sz, KM_SLEEP); 111+ 112+ if (p != NULL) { 113+ bzap *pp = (bzap *)((p + sizeof (bzap) + BZ2_BZALLOC_ALIGN - 1) & 114+ -BZ2_BZALLOC_ALIGN); 115+ pp[-1].buf = (void *)p; 116+ pp[-1].sz = sz; 117+ return (pp); 118+ } 119+ return (NULL); 120+} 121+ 122+static 123+void default_bzfree ( void* opaque, void* addr ) 124+{ 125+ if (addr != NULL) { 126+ bzap *pp = (bzap *)addr - 1; 127+ kmem_free(pp->buf, pp->sz); 128+ } 129+} 130+ 131+#else 132+ 133+/*---------------------------------------------------*/ 134+static 135+void* default_bzalloc ( void* opaque, Int32 items, Int32 size ) 136+{ 137 void* v = malloc ( items * size ); 138 return v; 139 } 140@@ -110,8 +188,8 @@ 141 { 142 if (addr != NULL) free ( addr ); 143 } 144+#endif /* _KERNEL */ 145 146- 147 /*---------------------------------------------------*/ 148 static 149 void prepare_new_block ( EState* s ) 150@@ -210,8 +288,92 @@ 151 return BZ_OK; 152 } 153 154+/*---------------------------------------------------*/ 155+/* 156+ * returns the BZALLOC size needed for bzCompressInit 157+ */ 158+int BZ_API(BZ2_bzCompressInitSize) ( 159+ int blockSize100k) 160+{ 161+ Int32 n, t; 162 163+ n = 100000 * blockSize100k; 164+ t = 0; 165+ t += ( sizeof(EState) ); 166+ t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN); 167+ t += ( n * sizeof(UInt32) ); 168+ t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN); 169+ t += ( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) ); 170+ t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN); 171+ t += ( 65537 * sizeof(UInt32) ); 172+ t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN); 173+ return (t); 174+} 175+ 176 /*---------------------------------------------------*/ 177+/* 178+ * added to allow reuse of bz_stream without malloc/free 179+ */ 180+int BZ_API(BZ2_bzCompressReset) ( bz_stream *strm ) 181+{ 182+ EState* s = strm->state; 183+ 184+ if (!bz_config_ok()) return BZ_CONFIG_ERROR; 185+ 186+ if (s == NULL) return BZ_MEM_ERROR; 187+ s->strm = strm; 188+ 189+ s->blockNo = 0; 190+ s->state = BZ_S_INPUT; 191+ s->mode = BZ_M_RUNNING; 192+ s->combinedCRC = 0; 193+ s->nblockMAX = 100000 * s->blockSize100k - 19; 194+ 195+ s->block = (UChar*)s->arr2; 196+ s->mtfv = (UInt16*)s->arr1; 197+ s->zbits = NULL; 198+ s->ptr = (UInt32*)s->arr1; 199+ 200+ strm->state = s; 201+ strm->total_in_lo32 = 0; 202+ strm->total_in_hi32 = 0; 203+ strm->total_out_lo32 = 0; 204+ strm->total_out_hi32 = 0; 205+ init_RL ( s ); 206+ prepare_new_block ( s ); 207+ return BZ_OK; 208+} 209+ 210+int BZ_API(BZ2_bzDecompressReset) ( bz_stream* strm ) 211+{ 212+ DState* s = strm->state; 213+ 214+ if (!bz_config_ok()) return BZ_CONFIG_ERROR; 215+ 216+ if (strm == NULL) return BZ_PARAM_ERROR; 217+ 218+ s->strm = strm; 219+ 220+ s->state = BZ_X_MAGIC_1; 221+ s->bsLive = 0; 222+ s->bsBuff = 0; 223+ s->calculatedCombinedCRC = 0; 224+ strm->total_in_lo32 = 0; 225+ strm->total_in_hi32 = 0; 226+ strm->total_out_lo32 = 0; 227+ strm->total_out_hi32 = 0; 228+ 229+ s->ll4 = NULL; 230+ s->ll16 = NULL; 231+ s->tt = NULL; 232+ s->currBlockNo = 0; 233+ 234+ 235+ return BZ_OK; 236+} 237+ 238+ 239+/*---------------------------------------------------*/ 240 static 241 void add_pair_to_block ( EState* s ) 242 { 243@@ -852,9 +1014,11 @@ 244 } 245 } 246 247+#if 0 248 AssertH ( 0, 6001 ); 249 250 return 0; /*NOTREACHED*/ 251+#endif 252 } 253 254 255@@ -1078,7 +1242,7 @@ 256 *nbytes_out_hi32 = bzf->strm.total_out_hi32; 257 258 BZ_SETERR(BZ_OK); 259- BZ2_bzCompressEnd ( &(bzf->strm) ); 260+ (void) BZ2_bzCompressEnd ( &(bzf->strm) ); 261 free ( bzf ); 262 } 263 264@@ -1152,7 +1316,7 @@ 265 { BZ_SETERR(BZ_SEQUENCE_ERROR); return; }; 266 267 if (bzf->initialisedOk) 268- (void)BZ2_bzDecompressEnd ( &(bzf->strm) ); 269+ (void) BZ2_bzDecompressEnd ( &(bzf->strm) ); 270 free ( bzf ); 271 } 272 273@@ -1282,15 +1446,15 @@ 274 275 /* normal termination */ 276 *destLen -= strm.avail_out; 277- BZ2_bzCompressEnd ( &strm ); 278+ (void) BZ2_bzCompressEnd ( &strm ); 279 return BZ_OK; 280 281 output_overflow: 282- BZ2_bzCompressEnd ( &strm ); 283+ (void) BZ2_bzCompressEnd ( &strm ); 284 return BZ_OUTBUFF_FULL; 285 286 errhandler: 287- BZ2_bzCompressEnd ( &strm ); 288+ (void) BZ2_bzCompressEnd ( &strm ); 289 return ret; 290 } 291 292@@ -1330,20 +1494,20 @@ 293 294 /* normal termination */ 295 *destLen -= strm.avail_out; 296- BZ2_bzDecompressEnd ( &strm ); 297+ (void) BZ2_bzDecompressEnd ( &strm ); 298 return BZ_OK; 299 300 output_overflow_or_eof: 301 if (strm.avail_out > 0) { 302- BZ2_bzDecompressEnd ( &strm ); 303+ (void) BZ2_bzDecompressEnd ( &strm ); 304 return BZ_UNEXPECTED_EOF; 305 } else { 306- BZ2_bzDecompressEnd ( &strm ); 307+ (void) BZ2_bzDecompressEnd ( &strm ); 308 return BZ_OUTBUFF_FULL; 309- }; 310+ } 311 312 errhandler: 313- BZ2_bzDecompressEnd ( &strm ); 314+ (void) BZ2_bzDecompressEnd ( &strm ); 315 return ret; 316 } 317 318diff -u bzip2-1.0.6/bzlib.h ./bzlib.h 319--- bzip2-1.0.6/bzlib.h Fri Sep 10 19:08:42 2010 320+++ ./bzlib.h Wed Dec 29 20:59:21 2010 321@@ -18,10 +18,13 @@ 322 in the file LICENSE. 323 ------------------------------------------------------------------ */ 324 325- 326 #ifndef _BZLIB_H 327 #define _BZLIB_H 328 329+#ifdef _KERNEL 330+#define BZ_NO_STDIO 331+#endif 332+ 333 #ifdef __cplusplus 334 extern "C" { 335 #endif 336@@ -97,6 +100,8 @@ 337 338 /*-- Core (low-level) library functions --*/ 339 340+#define BZ2_BZALLOC_ALIGN (64) 341+ 342 BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 343 bz_stream* strm, 344 int blockSize100k, 345@@ -104,6 +109,14 @@ 346 int workFactor 347 ); 348 349+BZ_EXTERN int BZ_API(BZ2_bzCompressInitSize) ( 350+ int blockSize100k 351+ ); 352+ 353+BZ_EXTERN int BZ_API(BZ2_bzCompressReset) ( 354+ bz_stream* strm 355+ ); 356+ 357 BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 358 bz_stream* strm, 359 int action 360@@ -119,6 +132,10 @@ 361 int small 362 ); 363 364+BZ_EXTERN int BZ_API(BZ2_bzDecompressReset) ( 365+ bz_stream* strm 366+ ); 367+ 368 BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 369 bz_stream* strm 370 ); 371@@ -127,8 +144,12 @@ 372 bz_stream *strm 373 ); 374 375+BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 376+ int error_code 377+ ); 378 379 380+ 381 /*-- High(er) level library functions --*/ 382 383 #ifndef BZ_NO_STDIO 384@@ -275,8 +296,7 @@ 385 } 386 #endif 387 388-#endif 389- 390 /*-------------------------------------------------------------*/ 391 /*--- end bzlib.h ---*/ 392 /*-------------------------------------------------------------*/ 393+#endif /* _BZLIB_H */ 394diff -u bzip2-1.0.6/bzlib_private.h ./bzlib_private.h 395--- bzip2-1.0.6/bzlib_private.h Fri Sep 10 18:41:55 2010 396+++ ./bzlib_private.h Wed Dec 29 21:01:01 2010 397@@ -22,7 +22,11 @@ 398 #ifndef _BZLIB_PRIVATE_H 399 #define _BZLIB_PRIVATE_H 400 401+#ifdef _KERNEL 402+#define BZ_NO_STDIO 403+#else 404 #include <stdlib.h> 405+#endif 406 407 #ifndef BZ_NO_STDIO 408 #include <stdio.h> 409@@ -85,9 +89,10 @@ 410 411 #else 412 413+#pragma weak bz_internal_error 414 extern void bz_internal_error ( int errcode ); 415 #define AssertH(cond,errcode) \ 416- { if (!(cond)) bz_internal_error ( errcode ); } 417+ { if (!(cond) && &bz_internal_error != NULL) bz_internal_error ( errcode ); } 418 #define AssertD(cond,msg) do { } while (0) 419 #define VPrintf0(zf) do { } while (0) 420 #define VPrintf1(zf,za1) do { } while (0) 421@@ -156,7 +161,7 @@ 422 423 #define BZ_INITIALISE_CRC(crcVar) \ 424 { \ 425- crcVar = 0xffffffffL; \ 426+ crcVar = 0xffffffffUL; \ 427 } 428 429 #define BZ_FINALISE_CRC(crcVar) \ 430@@ -492,9 +497,6 @@ 431 Int32, Int32, Int32 ); 432 433 434-#endif 435- 436- 437 /*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/ 438 439 #ifdef BZ_NO_STDIO 440@@ -507,3 +509,4 @@ 441 /*-------------------------------------------------------------*/ 442 /*--- end bzlib_private.h ---*/ 443 /*-------------------------------------------------------------*/ 444+#endif /* _BZLIB_PRIVATE_H */ 445diff -u bzip2-1.0.6/crctable.c ./crctable.c 446--- bzip2-1.0.6/crctable.c Fri Sep 10 18:43:34 2010 447+++ ./crctable.c Wed Dec 29 21:01:57 2010 448@@ -32,70 +32,70 @@ 449 450 /*-- Ugly, innit? --*/ 451 452- 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L, 453- 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L, 454- 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L, 455- 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL, 456- 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L, 457- 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L, 458- 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L, 459- 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL, 460- 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L, 461- 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L, 462- 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L, 463- 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL, 464- 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L, 465- 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L, 466- 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L, 467- 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL, 468- 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL, 469- 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L, 470- 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L, 471- 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL, 472- 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL, 473- 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L, 474- 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L, 475- 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL, 476- 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL, 477- 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L, 478- 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L, 479- 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL, 480- 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL, 481- 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L, 482- 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L, 483- 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL, 484- 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L, 485- 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL, 486- 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL, 487- 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L, 488- 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L, 489- 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL, 490- 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL, 491- 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L, 492- 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L, 493- 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL, 494- 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL, 495- 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L, 496- 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L, 497- 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL, 498- 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL, 499- 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L, 500- 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L, 501- 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL, 502- 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L, 503- 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L, 504- 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L, 505- 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL, 506- 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L, 507- 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L, 508- 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L, 509- 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL, 510- 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L, 511- 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L, 512- 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L, 513- 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL, 514- 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L, 515- 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L 516+ 0x00000000UL, 0x04c11db7UL, 0x09823b6eUL, 0x0d4326d9UL, 517+ 0x130476dcUL, 0x17c56b6bUL, 0x1a864db2UL, 0x1e475005UL, 518+ 0x2608edb8UL, 0x22c9f00fUL, 0x2f8ad6d6UL, 0x2b4bcb61UL, 519+ 0x350c9b64UL, 0x31cd86d3UL, 0x3c8ea00aUL, 0x384fbdbdUL, 520+ 0x4c11db70UL, 0x48d0c6c7UL, 0x4593e01eUL, 0x4152fda9UL, 521+ 0x5f15adacUL, 0x5bd4b01bUL, 0x569796c2UL, 0x52568b75UL, 522+ 0x6a1936c8UL, 0x6ed82b7fUL, 0x639b0da6UL, 0x675a1011UL, 523+ 0x791d4014UL, 0x7ddc5da3UL, 0x709f7b7aUL, 0x745e66cdUL, 524+ 0x9823b6e0UL, 0x9ce2ab57UL, 0x91a18d8eUL, 0x95609039UL, 525+ 0x8b27c03cUL, 0x8fe6dd8bUL, 0x82a5fb52UL, 0x8664e6e5UL, 526+ 0xbe2b5b58UL, 0xbaea46efUL, 0xb7a96036UL, 0xb3687d81UL, 527+ 0xad2f2d84UL, 0xa9ee3033UL, 0xa4ad16eaUL, 0xa06c0b5dUL, 528+ 0xd4326d90UL, 0xd0f37027UL, 0xddb056feUL, 0xd9714b49UL, 529+ 0xc7361b4cUL, 0xc3f706fbUL, 0xceb42022UL, 0xca753d95UL, 530+ 0xf23a8028UL, 0xf6fb9d9fUL, 0xfbb8bb46UL, 0xff79a6f1UL, 531+ 0xe13ef6f4UL, 0xe5ffeb43UL, 0xe8bccd9aUL, 0xec7dd02dUL, 532+ 0x34867077UL, 0x30476dc0UL, 0x3d044b19UL, 0x39c556aeUL, 533+ 0x278206abUL, 0x23431b1cUL, 0x2e003dc5UL, 0x2ac12072UL, 534+ 0x128e9dcfUL, 0x164f8078UL, 0x1b0ca6a1UL, 0x1fcdbb16UL, 535+ 0x018aeb13UL, 0x054bf6a4UL, 0x0808d07dUL, 0x0cc9cdcaUL, 536+ 0x7897ab07UL, 0x7c56b6b0UL, 0x71159069UL, 0x75d48ddeUL, 537+ 0x6b93dddbUL, 0x6f52c06cUL, 0x6211e6b5UL, 0x66d0fb02UL, 538+ 0x5e9f46bfUL, 0x5a5e5b08UL, 0x571d7dd1UL, 0x53dc6066UL, 539+ 0x4d9b3063UL, 0x495a2dd4UL, 0x44190b0dUL, 0x40d816baUL, 540+ 0xaca5c697UL, 0xa864db20UL, 0xa527fdf9UL, 0xa1e6e04eUL, 541+ 0xbfa1b04bUL, 0xbb60adfcUL, 0xb6238b25UL, 0xb2e29692UL, 542+ 0x8aad2b2fUL, 0x8e6c3698UL, 0x832f1041UL, 0x87ee0df6UL, 543+ 0x99a95df3UL, 0x9d684044UL, 0x902b669dUL, 0x94ea7b2aUL, 544+ 0xe0b41de7UL, 0xe4750050UL, 0xe9362689UL, 0xedf73b3eUL, 545+ 0xf3b06b3bUL, 0xf771768cUL, 0xfa325055UL, 0xfef34de2UL, 546+ 0xc6bcf05fUL, 0xc27dede8UL, 0xcf3ecb31UL, 0xcbffd686UL, 547+ 0xd5b88683UL, 0xd1799b34UL, 0xdc3abdedUL, 0xd8fba05aUL, 548+ 0x690ce0eeUL, 0x6dcdfd59UL, 0x608edb80UL, 0x644fc637UL, 549+ 0x7a089632UL, 0x7ec98b85UL, 0x738aad5cUL, 0x774bb0ebUL, 550+ 0x4f040d56UL, 0x4bc510e1UL, 0x46863638UL, 0x42472b8fUL, 551+ 0x5c007b8aUL, 0x58c1663dUL, 0x558240e4UL, 0x51435d53UL, 552+ 0x251d3b9eUL, 0x21dc2629UL, 0x2c9f00f0UL, 0x285e1d47UL, 553+ 0x36194d42UL, 0x32d850f5UL, 0x3f9b762cUL, 0x3b5a6b9bUL, 554+ 0x0315d626UL, 0x07d4cb91UL, 0x0a97ed48UL, 0x0e56f0ffUL, 555+ 0x1011a0faUL, 0x14d0bd4dUL, 0x19939b94UL, 0x1d528623UL, 556+ 0xf12f560eUL, 0xf5ee4bb9UL, 0xf8ad6d60UL, 0xfc6c70d7UL, 557+ 0xe22b20d2UL, 0xe6ea3d65UL, 0xeba91bbcUL, 0xef68060bUL, 558+ 0xd727bbb6UL, 0xd3e6a601UL, 0xdea580d8UL, 0xda649d6fUL, 559+ 0xc423cd6aUL, 0xc0e2d0ddUL, 0xcda1f604UL, 0xc960ebb3UL, 560+ 0xbd3e8d7eUL, 0xb9ff90c9UL, 0xb4bcb610UL, 0xb07daba7UL, 561+ 0xae3afba2UL, 0xaafbe615UL, 0xa7b8c0ccUL, 0xa379dd7bUL, 562+ 0x9b3660c6UL, 0x9ff77d71UL, 0x92b45ba8UL, 0x9675461fUL, 563+ 0x8832161aUL, 0x8cf30badUL, 0x81b02d74UL, 0x857130c3UL, 564+ 0x5d8a9099UL, 0x594b8d2eUL, 0x5408abf7UL, 0x50c9b640UL, 565+ 0x4e8ee645UL, 0x4a4ffbf2UL, 0x470cdd2bUL, 0x43cdc09cUL, 566+ 0x7b827d21UL, 0x7f436096UL, 0x7200464fUL, 0x76c15bf8UL, 567+ 0x68860bfdUL, 0x6c47164aUL, 0x61043093UL, 0x65c52d24UL, 568+ 0x119b4be9UL, 0x155a565eUL, 0x18197087UL, 0x1cd86d30UL, 569+ 0x029f3d35UL, 0x065e2082UL, 0x0b1d065bUL, 0x0fdc1becUL, 570+ 0x3793a651UL, 0x3352bbe6UL, 0x3e119d3fUL, 0x3ad08088UL, 571+ 0x2497d08dUL, 0x2056cd3aUL, 0x2d15ebe3UL, 0x29d4f654UL, 572+ 0xc5a92679UL, 0xc1683bceUL, 0xcc2b1d17UL, 0xc8ea00a0UL, 573+ 0xd6ad50a5UL, 0xd26c4d12UL, 0xdf2f6bcbUL, 0xdbee767cUL, 574+ 0xe3a1cbc1UL, 0xe760d676UL, 0xea23f0afUL, 0xeee2ed18UL, 575+ 0xf0a5bd1dUL, 0xf464a0aaUL, 0xf9278673UL, 0xfde69bc4UL, 576+ 0x89b8fd09UL, 0x8d79e0beUL, 0x803ac667UL, 0x84fbdbd0UL, 577+ 0x9abc8bd5UL, 0x9e7d9662UL, 0x933eb0bbUL, 0x97ffad0cUL, 578+ 0xafb010b1UL, 0xab710d06UL, 0xa6322bdfUL, 0xa2f33668UL, 579+ 0xbcb4666dUL, 0xb8757bdaUL, 0xb5365d03UL, 0xb1f740b4UL 580 }; 581 582 583diff -u bzip2-1.0.6/decompress.c ./decompress.c 584--- bzip2-1.0.6/decompress.c Fri Sep 10 18:43:17 2010 585+++ ./decompress.c Fri Dec 31 00:58:25 2010 586@@ -38,7 +38,7 @@ 587 588 /*---------------------------------------------------*/ 589 #define RETURN(rrr) \ 590- { retVal = rrr; goto save_state_and_return; }; 591+ { retVal = rrr; goto save_state_and_return; } 592 593 #define GET_BITS(lll,vvv,nnn) \ 594 case lll: s->state = lll; \ 595@@ -505,13 +505,13 @@ 596 for (i = 0; i <= 256; i++) { 597 if (s->cftab[i] < 0 || s->cftab[i] > nblock) { 598 /* s->cftab[i] can legitimately be == nblock */ 599- RETURN(BZ_DATA_ERROR); 600+ RETURN(BZ_DATA_ERROR) 601 } 602 } 603 /* Check: cftab entries non-descending. */ 604 for (i = 1; i <= 256; i++) { 605 if (s->cftab[i-1] > s->cftab[i]) { 606- RETURN(BZ_DATA_ERROR); 607+ RETURN(BZ_DATA_ERROR) 608 } 609 } 610 611@@ -575,7 +575,7 @@ 612 613 } 614 615- RETURN(BZ_OK); 616+ RETURN(BZ_OK) 617 618 619 620@@ -603,7 +603,7 @@ 621 s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc); 622 623 s->state = BZ_X_IDLE; 624- RETURN(BZ_STREAM_END); 625+ RETURN(BZ_STREAM_END) 626 627 default: AssertH ( False, 4001 ); 628 } 629