9813 isainfo should learn about SHA Instrs
[unleashed.git] / usr / src / common / bzip2 / Solaris.README.txt
blob248641c084e14095fff60359343d46109d53fa5f
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23 # Use is subject to license terms.
26 The source in this directory has been derived from libbzip2 version
27 1.0.6 downloaded from http://www.bzip.org.
29 In an effort to provide ease of syncing with the upstream code, this
30 source hasn't changed much. The usual Solaris coding standards have
31 been waived. It does not pass cstyle. But, enough modifications were
32 made so that the code does compile and lint cleanly.
34 Some modifications have been made for use in the Solaris kernel:
35 1) compilation errors were corrected
36 2) lint complaints were fixed
37 3) a few utility interfaces were added
38         BZ2_bzCompressInitSize
39         BZ2_bzCompressReset
40         BZ2_bzDecompressReset
41         BZ2_bzErrorString
44 Here is a complete list of changes made by Sun to the original 1.0.6
45 source:
47 diff -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  }
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) 
73 +BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 
74 +      int error_code
75 +   )
77 +       switch (error_code)
78 +       {
79 +#define BZE(x) case x: return (#x);
80 +BZES
81 +#undef BZE
82 +       }
83 +       return ("BZ_UNKNOWN_ERROR");
86 +#include <sys/sysmacros.h>
88 +#ifdef _KERNEL
90 +#include <sys/types.h>
91 +#include <sys/cmn_err.h>
92 +#include <sys/kmem.h>
94 +void
95 +bz_internal_error(int errcode)
97 +       panic("bzip2 internal error: %s\n", BZ2_bzErrorString(errcode));
100  /*---------------------------------------------------*/
101 +typedef struct {
102 +       char *buf;
103 +       size_t sz;
104 +} bzap;
106  static
107  void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
109 +       size_t sz = sizeof (bzap) + BZ2_BZALLOC_ALIGN + (items * size);
110 +       uintptr_t p = (uintptr_t)kmem_alloc(sz, KM_SLEEP);
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);
122 +static
123 +void default_bzfree ( void* opaque, void* addr )
125 +       if (addr != NULL) {
126 +               bzap *pp = (bzap *)addr - 1;
127 +               kmem_free(pp->buf, pp->sz);
128 +       }
131 +#else
133 +/*---------------------------------------------------*/
134 +static
135 +void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
137     void* v = malloc ( items * size );
138     return v;
140 @@ -110,8 +188,8 @@
142     if (addr != NULL) free ( addr );
144 +#endif /* _KERNEL */
147  /*---------------------------------------------------*/
148  static
149  void prepare_new_block ( EState* s )
150 @@ -210,8 +288,92 @@
151     return BZ_OK;
154 +/*---------------------------------------------------*/
156 + * returns the BZALLOC size needed for bzCompressInit
157 + */
158 +int BZ_API(BZ2_bzCompressInitSize) ( 
159 +                     int        blockSize100k)
161 +   Int32   n, t;
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);
176  /*---------------------------------------------------*/
178 + * added to allow reuse of bz_stream without malloc/free
179 + */
180 +int BZ_API(BZ2_bzCompressReset) ( bz_stream *strm )
182 +   EState* s = strm->state;
184 +   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
186 +   if (s == NULL) return BZ_MEM_ERROR;
187 +   s->strm = strm;
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;
195 +   s->block             = (UChar*)s->arr2;
196 +   s->mtfv              = (UInt16*)s->arr1;
197 +   s->zbits             = NULL;
198 +   s->ptr               = (UInt32*)s->arr1;
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;
210 +int BZ_API(BZ2_bzDecompressReset) ( bz_stream* strm )
212 +   DState* s = strm->state;
214 +   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
216 +   if (strm == NULL) return BZ_PARAM_ERROR;
218 +   s->strm                  = strm;
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;
229 +   s->ll4                   = NULL;
230 +   s->ll16                  = NULL;
231 +   s->tt                    = NULL;
232 +   s->currBlockNo           = 0;
235 +   return BZ_OK;
239 +/*---------------------------------------------------*/
240  static
241  void add_pair_to_block ( EState* s )
243 @@ -852,9 +1014,11 @@
244        }
245     }
247 +#if 0
248     AssertH ( 0, 6001 );
250     return 0;  /*NOTREACHED*/
251 +#endif
255 @@ -1078,7 +1242,7 @@
256        *nbytes_out_hi32 = bzf->strm.total_out_hi32;
258     BZ_SETERR(BZ_OK);
259 -   BZ2_bzCompressEnd ( &(bzf->strm) );
260 +   (void) BZ2_bzCompressEnd ( &(bzf->strm) );
261     free ( bzf );
264 @@ -1152,7 +1316,7 @@
265        { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
267     if (bzf->initialisedOk)
268 -      (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
269 +      (void) BZ2_bzDecompressEnd ( &(bzf->strm) );
270     free ( bzf );
273 @@ -1282,15 +1446,15 @@
275     /* normal termination */
276     *destLen -= strm.avail_out;   
277 -   BZ2_bzCompressEnd ( &strm );
278 +   (void) BZ2_bzCompressEnd ( &strm );
279     return BZ_OK;
281     output_overflow:
282 -   BZ2_bzCompressEnd ( &strm );
283 +   (void) BZ2_bzCompressEnd ( &strm );
284     return BZ_OUTBUFF_FULL;
286     errhandler:
287 -   BZ2_bzCompressEnd ( &strm );
288 +   (void) BZ2_bzCompressEnd ( &strm );
289     return ret;
292 @@ -1330,20 +1494,20 @@
294     /* normal termination */
295     *destLen -= strm.avail_out;
296 -   BZ2_bzDecompressEnd ( &strm );
297 +   (void) BZ2_bzDecompressEnd ( &strm );
298     return BZ_OK;
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 +   }   
312     errhandler:
313 -   BZ2_bzDecompressEnd ( &strm );
314 +   (void) BZ2_bzDecompressEnd ( &strm );
315     return ret; 
318 diff -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     ------------------------------------------------------------------ */
326  #ifndef _BZLIB_H
327  #define _BZLIB_H
329 +#ifdef _KERNEL
330 +#define        BZ_NO_STDIO
331 +#endif
333  #ifdef __cplusplus
334  extern "C" {
335  #endif
336 @@ -97,6 +100,8 @@
338  /*-- Core (low-level) library functions --*/
340 +#define        BZ2_BZALLOC_ALIGN       (64)
342  BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 
343        bz_stream* strm, 
344        int        blockSize100k, 
345 @@ -104,6 +109,14 @@
346        int        workFactor 
347     );
349 +BZ_EXTERN int BZ_API(BZ2_bzCompressInitSize) ( 
350 +      int        blockSize100k
351 +   );
353 +BZ_EXTERN int BZ_API(BZ2_bzCompressReset) ( 
354 +      bz_stream* strm 
355 +   );
357  BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 
358        bz_stream* strm, 
359        int action 
360 @@ -119,6 +132,10 @@
361        int       small
362     );
364 +BZ_EXTERN int BZ_API(BZ2_bzDecompressReset) ( 
365 +      bz_stream* strm 
366 +   );
368  BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
369        bz_stream* strm 
370     );
371 @@ -127,8 +144,12 @@
372        bz_stream *strm 
373     );
375 +BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 
376 +      int error_code
377 +   );
381  /*-- High(er) level library functions --*/
383  #ifndef BZ_NO_STDIO
384 @@ -275,8 +296,7 @@
386  #endif
388 -#endif
390  /*-------------------------------------------------------------*/
391  /*--- end                                           bzlib.h ---*/
392  /*-------------------------------------------------------------*/
393 +#endif /* _BZLIB_H */
394 diff -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
401 +#ifdef _KERNEL
402 +#define        BZ_NO_STDIO
403 +#else
404  #include <stdlib.h>
405 +#endif
407  #ifndef BZ_NO_STDIO
408  #include <stdio.h>
409 @@ -85,9 +89,10 @@
411  #else
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 @@
423  #define BZ_INITIALISE_CRC(crcVar)              \
424  {                                              \
425 -   crcVar = 0xffffffffL;                       \
426 +   crcVar = 0xffffffffUL;                      \
429  #define BZ_FINALISE_CRC(crcVar)                \
430 @@ -492,9 +497,6 @@
431                             Int32,  Int32, Int32 );
434 -#endif
437  /*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
439  #ifdef BZ_NO_STDIO
440 @@ -507,3 +509,4 @@
441  /*-------------------------------------------------------------*/
442  /*--- end                                   bzlib_private.h ---*/
443  /*-------------------------------------------------------------*/
444 +#endif /* _BZLIB_PRIVATE_H */
445 diff -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 @@
450     /*-- Ugly, innit? --*/
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  };
583 diff -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 @@
588  /*---------------------------------------------------*/
589  #define RETURN(rrr)                               \
590 -   { retVal = rrr; goto save_state_and_return; };
591 +   { retVal = rrr; goto save_state_and_return; }
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        }
611 @@ -575,7 +575,7 @@
613        }
615 -      RETURN(BZ_OK);
616 +      RETURN(BZ_OK)
620 @@ -603,7 +603,7 @@
621        s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
623        s->state = BZ_X_IDLE;
624 -      RETURN(BZ_STREAM_END);
625 +      RETURN(BZ_STREAM_END)
627        default: AssertH ( False, 4001 );
628     }