Hex Artifact Content

Not logged in

Artifact b192317dc008bf4cf3d9170a0284015262518deb:


0000: 0a 54 68 69 73 20 69 73 20 74 68 65 20 52 45 41  .This is the REA
0010: 44 4d 45 20 66 6f 72 20 62 7a 69 70 32 2f 6c 69  DME for bzip2/li
0020: 62 7a 69 70 32 2e 0a 54 68 69 73 20 76 65 72 73  bzip2..This vers
0030: 69 6f 6e 20 69 73 20 66 75 6c 6c 79 20 63 6f 6d  ion is fully com
0040: 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65  patible with the
0050: 20 70 72 65 76 69 6f 75 73 20 70 75 62 6c 69 63   previous public
0060: 20 72 65 6c 65 61 73 65 73 2e 0a 0a 2d 2d 2d 2d   releases...----
0070: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0080: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0090: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
00a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54  --------------.T
00b0: 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74  his file is part
00c0: 20 6f 66 20 62 7a 69 70 32 2f 6c 69 62 62 7a 69   of bzip2/libbzi
00d0: 70 32 2c 20 61 20 70 72 6f 67 72 61 6d 20 61 6e  p2, a program an
00e0: 64 20 6c 69 62 72 61 72 79 20 66 6f 72 0a 6c 6f  d library for.lo
00f0: 73 73 6c 65 73 73 2c 20 62 6c 6f 63 6b 2d 73 6f  ssless, block-so
0100: 72 74 69 6e 67 20 64 61 74 61 20 63 6f 6d 70 72  rting data compr
0110: 65 73 73 69 6f 6e 2e 0a 0a 62 7a 69 70 32 2f 6c  ession...bzip2/l
0120: 69 62 62 7a 69 70 32 20 76 65 72 73 69 6f 6e 20  ibbzip2 version 
0130: 31 2e 30 2e 36 20 6f 66 20 36 20 53 65 70 74 65  1.0.6 of 6 Septe
0140: 6d 62 65 72 20 32 30 31 30 0a 43 6f 70 79 72 69  mber 2010.Copyri
0150: 67 68 74 20 28 43 29 20 31 39 39 36 2d 32 30 31  ght (C) 1996-201
0160: 30 20 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20  0 Julian Seward 
0170: 3c 6a 73 65 77 61 72 64 40 62 7a 69 70 2e 6f 72  <jseward@bzip.or
0180: 67 3e 0a 0a 50 6c 65 61 73 65 20 72 65 61 64 20  g>..Please read 
0190: 74 68 65 20 57 41 52 4e 49 4e 47 2c 20 44 49 53  the WARNING, DIS
01a0: 43 4c 41 49 4d 45 52 20 61 6e 64 20 50 41 54 45  CLAIMER and PATE
01b0: 4e 54 53 20 73 65 63 74 69 6f 6e 73 20 69 6e 20  NTS sections in 
01c0: 74 68 69 73 20 66 69 6c 65 2e 0a 0a 54 68 69 73  this file...This
01d0: 20 70 72 6f 67 72 61 6d 20 69 73 20 72 65 6c 65   program is rele
01e0: 61 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 74  ased under the t
01f0: 65 72 6d 73 20 6f 66 20 74 68 65 20 6c 69 63 65  erms of the lice
0200: 6e 73 65 20 63 6f 6e 74 61 69 6e 65 64 0a 69 6e  nse contained.in
0210: 20 74 68 65 20 66 69 6c 65 20 4c 49 43 45 4e 53   the file LICENS
0220: 45 2e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  E..-------------
0230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0260: 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 6c 65 74 65 20  -----..Complete 
0270: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73  documentation is
0280: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 50 6f   available in Po
0290: 73 74 73 63 72 69 70 74 20 66 6f 72 6d 20 28 6d  stscript form (m
02a0: 61 6e 75 61 6c 2e 70 73 29 2c 0a 50 44 46 20 28  anual.ps),.PDF (
02b0: 6d 61 6e 75 61 6c 2e 70 64 66 29 20 6f 72 20 68  manual.pdf) or h
02c0: 74 6d 6c 20 28 6d 61 6e 75 61 6c 2e 68 74 6d 6c  tml (manual.html
02d0: 29 2e 20 20 41 20 70 6c 61 69 6e 2d 74 65 78 74  ).  A plain-text
02e0: 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 0a   version of the.
02f0: 6d 61 6e 75 61 6c 20 70 61 67 65 20 69 73 20 61  manual page is a
0300: 76 61 69 6c 61 62 6c 65 20 61 73 20 62 7a 69 70  vailable as bzip
0310: 32 2e 74 78 74 2e 0a 0a 0a 48 4f 57 20 54 4f 20  2.txt....HOW TO 
0320: 42 55 49 4c 44 20 2d 2d 20 55 4e 49 58 0a 0a 54  BUILD -- UNIX..T
0330: 79 70 65 20 27 6d 61 6b 65 27 2e 20 20 54 68 69  ype 'make'.  Thi
0340: 73 20 62 75 69 6c 64 73 20 74 68 65 20 6c 69 62  s builds the lib
0350: 72 61 72 79 20 6c 69 62 62 7a 32 2e 61 20 61 6e  rary libbz2.a an
0360: 64 20 74 68 65 6e 20 74 68 65 20 70 72 6f 67 72  d then the progr
0370: 61 6d 73 0a 62 7a 69 70 32 20 61 6e 64 20 62 7a  ams.bzip2 and bz
0380: 69 70 32 72 65 63 6f 76 65 72 2e 20 20 53 69 78  ip2recover.  Six
0390: 20 73 65 6c 66 2d 74 65 73 74 73 20 61 72 65 20   self-tests are 
03a0: 72 75 6e 2e 20 20 49 66 20 74 68 65 20 73 65 6c  run.  If the sel
03b0: 66 2d 74 65 73 74 73 0a 63 6f 6d 70 6c 65 74 65  f-tests.complete
03c0: 20 6f 6b 2c 20 63 61 72 72 79 20 6f 6e 20 74 6f   ok, carry on to
03d0: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 0a 0a   installation:..
03e0: 54 6f 20 69 6e 73 74 61 6c 6c 20 69 6e 20 2f 75  To install in /u
03f0: 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 2c 20 2f 75  sr/local/bin, /u
0400: 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 2c 20 2f 75  sr/local/lib, /u
0410: 73 72 2f 6c 6f 63 61 6c 2f 6d 61 6e 20 61 6e 64  sr/local/man and
0420: 0a 2f 75 73 72 2f 6c 6f 63 61 6c 2f 69 6e 63 6c  ./usr/local/incl
0430: 75 64 65 2c 20 74 79 70 65 0a 0a 20 20 20 6d 61  ude, type..   ma
0440: 6b 65 20 69 6e 73 74 61 6c 6c 0a 0a 54 6f 20 69  ke install..To i
0450: 6e 73 74 61 6c 6c 20 73 6f 6d 65 77 68 65 72 65  nstall somewhere
0460: 20 65 6c 73 65 2c 20 65 67 2c 20 2f 78 78 78 2f   else, eg, /xxx/
0470: 79 79 79 2f 7b 62 69 6e 2c 6c 69 62 2c 6d 61 6e  yyy/{bin,lib,man
0480: 2c 69 6e 63 6c 75 64 65 7d 2c 20 74 79 70 65 0a  ,include}, type.
0490: 0a 20 20 20 6d 61 6b 65 20 69 6e 73 74 61 6c 6c  .   make install
04a0: 20 50 52 45 46 49 58 3d 2f 78 78 78 2f 79 79 79   PREFIX=/xxx/yyy
04b0: 0a 0a 49 66 20 79 6f 75 20 61 72 65 20 28 6a 75  ..If you are (ju
04c0: 73 74 69 66 69 61 62 6c 79 29 20 70 61 72 61 6e  stifiably) paran
04d0: 6f 69 64 20 61 6e 64 20 77 61 6e 74 20 74 6f 20  oid and want to 
04e0: 73 65 65 20 77 68 61 74 20 27 6d 61 6b 65 20 69  see what 'make i
04f0: 6e 73 74 61 6c 6c 27 0a 69 73 20 67 6f 69 6e 67  nstall'.is going
0500: 20 74 6f 20 64 6f 2c 20 79 6f 75 20 63 61 6e 20   to do, you can 
0510: 66 69 72 73 74 20 64 6f 0a 0a 20 20 20 6d 61 6b  first do..   mak
0520: 65 20 2d 6e 20 69 6e 73 74 61 6c 6c 20 20 20 20  e -n install    
0530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0540: 20 20 6f 72 0a 20 20 20 6d 61 6b 65 20 2d 6e 20    or.   make -n 
0550: 69 6e 73 74 61 6c 6c 20 50 52 45 46 49 58 3d 2f  install PREFIX=/
0560: 78 78 78 2f 79 79 79 20 20 20 20 20 20 72 65 73  xxx/yyy      res
0570: 70 65 63 74 69 76 65 6c 79 2e 0a 0a 54 68 65 20  pectively...The 
0580: 2d 6e 20 69 6e 73 74 72 75 63 74 73 20 6d 61 6b  -n instructs mak
0590: 65 20 74 6f 20 73 68 6f 77 20 74 68 65 20 63 6f  e to show the co
05a0: 6d 6d 61 6e 64 73 20 69 74 20 77 6f 75 6c 64 20  mmands it would 
05b0: 65 78 65 63 75 74 65 2c 20 62 75 74 20 6e 6f 74  execute, but not
05c0: 0a 61 63 74 75 61 6c 6c 79 20 65 78 65 63 75 74  .actually execut
05d0: 65 20 74 68 65 6d 2e 0a 0a 0a 48 4f 57 20 54 4f  e them....HOW TO
05e0: 20 42 55 49 4c 44 20 2d 2d 20 55 4e 49 58 2c 20   BUILD -- UNIX, 
05f0: 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20 6c  shared library l
0600: 69 62 62 7a 32 2e 73 6f 2e 0a 0a 44 6f 20 27 6d  ibbz2.so...Do 'm
0610: 61 6b 65 20 2d 66 20 4d 61 6b 65 66 69 6c 65 2d  ake -f Makefile-
0620: 6c 69 62 62 7a 32 5f 73 6f 27 2e 20 20 54 68 69  libbz2_so'.  Thi
0630: 73 20 4d 61 6b 65 66 69 6c 65 20 73 65 65 6d 73  s Makefile seems
0640: 20 74 6f 20 77 6f 72 6b 20 66 6f 72 0a 4c 69 6e   to work for.Lin
0650: 75 78 2d 45 4c 46 20 28 52 65 64 48 61 74 20 37  ux-ELF (RedHat 7
0660: 2e 32 20 6f 6e 20 61 6e 20 78 38 36 20 62 6f 78  .2 on an x86 box
0670: 29 2c 20 77 69 74 68 20 67 63 63 2e 20 20 49 20  ), with gcc.  I 
0680: 6d 61 6b 65 20 6e 6f 20 63 6c 61 69 6d 73 0a 74  make no claims.t
0690: 68 61 74 20 69 74 20 77 6f 72 6b 73 20 66 6f 72  hat it works for
06a0: 20 61 6e 79 20 6f 74 68 65 72 20 70 6c 61 74 66   any other platf
06b0: 6f 72 6d 2c 20 74 68 6f 75 67 68 20 49 20 73 75  orm, though I su
06c0: 73 70 65 63 74 20 69 74 20 70 72 6f 62 61 62 6c  spect it probabl
06d0: 79 0a 77 69 6c 6c 20 77 6f 72 6b 20 66 6f 72 20  y.will work for 
06e0: 6d 6f 73 74 20 70 6c 61 74 66 6f 72 6d 73 20 65  most platforms e
06f0: 6d 70 6c 6f 79 69 6e 67 20 62 6f 74 68 20 45 4c  mploying both EL
0700: 46 20 61 6e 64 20 67 63 63 2e 0a 0a 62 7a 69 70  F and gcc...bzip
0710: 32 2d 73 68 61 72 65 64 2c 20 61 20 63 6c 69 65  2-shared, a clie
0720: 6e 74 20 6f 66 20 74 68 65 20 73 68 61 72 65 64  nt of the shared
0730: 20 6c 69 62 72 61 72 79 2c 20 69 73 20 61 6c 73   library, is als
0740: 6f 20 62 75 69 6c 74 2c 20 62 75 74 20 6e 6f 74  o built, but not
0750: 0a 73 65 6c 66 2d 74 65 73 74 65 64 2e 20 20 53  .self-tested.  S
0760: 6f 20 49 20 73 75 67 67 65 73 74 20 79 6f 75 20  o I suggest you 
0770: 61 6c 73 6f 20 62 75 69 6c 64 20 75 73 69 6e 67  also build using
0780: 20 74 68 65 20 6e 6f 72 6d 61 6c 20 4d 61 6b 65   the normal Make
0790: 66 69 6c 65 2c 0a 73 69 6e 63 65 20 74 68 61 74  file,.since that
07a0: 20 63 6f 6e 64 75 63 74 73 20 61 20 73 65 6c 66   conducts a self
07b0: 2d 74 65 73 74 2e 20 20 41 20 73 65 63 6f 6e 64  -test.  A second
07c0: 20 72 65 61 73 6f 6e 20 74 6f 20 70 72 65 66 65   reason to prefe
07d0: 72 20 74 68 65 0a 76 65 72 73 69 6f 6e 20 73 74  r the.version st
07e0: 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20  atically linked 
07f0: 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 20 69  to the library i
0800: 73 20 74 68 61 74 2c 20 6f 6e 20 78 38 36 20 70  s that, on x86 p
0810: 6c 61 74 66 6f 72 6d 73 2c 0a 62 75 69 6c 64 69  latforms,.buildi
0820: 6e 67 20 73 68 61 72 65 64 20 6f 62 6a 65 63 74  ng shared object
0830: 73 20 6d 61 6b 65 73 20 61 20 76 61 6c 75 61 62  s makes a valuab
0840: 6c 65 20 72 65 67 69 73 74 65 72 20 28 25 65 62  le register (%eb
0850: 78 29 20 75 6e 61 76 61 69 6c 61 62 6c 65 0a 74  x) unavailable.t
0860: 6f 20 67 63 63 2c 20 72 65 73 75 6c 74 69 6e 67  o gcc, resulting
0870: 20 69 6e 20 61 20 73 6c 6f 77 64 6f 77 6e 20 6f   in a slowdown o
0880: 66 20 31 30 25 2d 32 30 25 2c 20 61 74 20 6c 65  f 10%-20%, at le
0890: 61 73 74 20 66 6f 72 20 62 7a 69 70 32 2e 0a 0a  ast for bzip2...
08a0: 49 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 65 20 66  Important note f
08b0: 6f 72 20 70 65 6f 70 6c 65 20 75 70 67 72 61 64  or people upgrad
08c0: 69 6e 67 20 2e 73 6f 27 73 20 66 72 6f 6d 20 30  ing .so's from 0
08d0: 2e 39 2e 30 2f 30 2e 39 2e 35 20 74 6f 20 76 65  .9.0/0.9.5 to ve
08e0: 72 73 69 6f 6e 0a 31 2e 30 2e 58 2e 20 20 41 6c  rsion.1.0.X.  Al
08f0: 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20  l the functions 
0900: 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 68  in the library h
0910: 61 76 65 20 62 65 65 6e 20 72 65 6e 61 6d 65 64  ave been renamed
0920: 2c 20 66 72 6f 6d 20 28 65 67 29 0a 62 7a 43 6f  , from (eg).bzCo
0930: 6d 70 72 65 73 73 20 74 6f 20 42 5a 32 5f 62 7a  mpress to BZ2_bz
0940: 43 6f 6d 70 72 65 73 73 2c 20 74 6f 20 61 76 6f  Compress, to avo
0950: 69 64 20 6e 61 6d 65 73 70 61 63 65 20 70 6f 6c  id namespace pol
0960: 6c 75 74 69 6f 6e 2e 0a 55 6e 66 6f 72 74 75 6e  lution..Unfortun
0970: 61 74 65 6c 79 20 74 68 69 73 20 6d 65 61 6e 73  ately this means
0980: 20 74 68 61 74 20 74 68 65 20 6c 69 62 62 7a 32   that the libbz2
0990: 2e 73 6f 20 63 72 65 61 74 65 64 20 62 79 0a 4d  .so created by.M
09a0: 61 6b 65 66 69 6c 65 2d 6c 69 62 62 7a 32 5f 73  akefile-libbz2_s
09b0: 6f 20 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20  o will not work 
09c0: 77 69 74 68 20 61 6e 79 20 70 72 6f 67 72 61 6d  with any program
09d0: 20 77 68 69 63 68 20 75 73 65 64 20 61 6e 20 6f   which used an o
09e0: 6c 64 65 72 0a 76 65 72 73 69 6f 6e 20 6f 66 20  lder.version of 
09f0: 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 49 20  the library.  I 
0a00: 64 6f 20 65 6e 63 6f 75 72 61 67 65 20 6c 69 62  do encourage lib
0a10: 72 61 72 79 20 63 6c 69 65 6e 74 73 20 74 6f 20  rary clients to 
0a20: 6d 61 6b 65 20 74 68 65 0a 65 66 66 6f 72 74 20  make the.effort 
0a30: 74 6f 20 75 70 67 72 61 64 65 20 74 6f 20 75 73  to upgrade to us
0a40: 65 20 76 65 72 73 69 6f 6e 20 31 2e 30 2c 20 73  e version 1.0, s
0a50: 69 6e 63 65 20 69 74 20 69 73 20 62 6f 74 68 20  ince it is both 
0a60: 66 61 73 74 65 72 20 61 6e 64 20 6d 6f 72 65 0a  faster and more.
0a70: 72 6f 62 75 73 74 20 74 68 61 6e 20 70 72 65 76  robust than prev
0a80: 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a  ious versions...
0a90: 0a 48 4f 57 20 54 4f 20 42 55 49 4c 44 20 2d 2d  .HOW TO BUILD --
0aa0: 20 57 69 6e 64 6f 77 73 20 39 35 2c 20 4e 54 2c   Windows 95, NT,
0ab0: 20 44 4f 53 2c 20 4d 61 63 2c 20 65 74 63 2e 0a   DOS, Mac, etc..
0ac0: 0a 49 74 27 73 20 64 69 66 66 69 63 75 6c 74 20  .It's difficult 
0ad0: 66 6f 72 20 6d 65 20 74 6f 20 73 75 70 70 6f 72  for me to suppor
0ae0: 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 6e  t compilation on
0af0: 20 61 6c 6c 20 74 68 65 73 65 20 70 6c 61 74 66   all these platf
0b00: 6f 72 6d 73 2e 0a 4d 79 20 61 70 70 72 6f 61 63  orms..My approac
0b10: 68 20 69 73 20 74 6f 20 63 6f 6c 6c 65 63 74 20  h is to collect 
0b20: 62 69 6e 61 72 69 65 73 20 66 6f 72 20 74 68 65  binaries for the
0b30: 73 65 20 70 6c 61 74 66 6f 72 6d 73 2c 20 61 6e  se platforms, an
0b40: 64 20 70 75 74 20 74 68 65 6d 0a 6f 6e 20 74 68  d put them.on th
0b50: 65 20 6d 61 73 74 65 72 20 77 65 62 20 73 69 74  e master web sit
0b60: 65 20 28 68 74 74 70 3a 2f 2f 77 77 77 2e 62 7a  e (http://www.bz
0b70: 69 70 2e 6f 72 67 29 2e 20 20 4c 6f 6f 6b 20 74  ip.org).  Look t
0b80: 68 65 72 65 2e 20 20 48 6f 77 65 76 65 72 0a 28  here.  However.(
0b90: 46 57 49 57 29 2c 20 62 7a 69 70 32 2d 31 2e 30  FWIW), bzip2-1.0
0ba0: 2e 58 20 69 73 20 76 65 72 79 20 73 74 61 6e 64  .X is very stand
0bb0: 61 72 64 20 41 4e 53 49 20 43 20 61 6e 64 20 73  ard ANSI C and s
0bc0: 68 6f 75 6c 64 20 63 6f 6d 70 69 6c 65 0a 75 6e  hould compile.un
0bd0: 6d 6f 64 69 66 69 65 64 20 77 69 74 68 20 4d 53  modified with MS
0be0: 20 56 69 73 75 61 6c 20 43 2e 20 20 49 66 20 79   Visual C.  If y
0bf0: 6f 75 20 68 61 76 65 20 64 69 66 66 69 63 75 6c  ou have difficul
0c00: 74 69 65 73 20 62 75 69 6c 64 69 6e 67 2c 20 79  ties building, y
0c10: 6f 75 0a 6d 69 67 68 74 20 77 61 6e 74 20 74 6f  ou.might want to
0c20: 20 72 65 61 64 20 52 45 41 44 4d 45 2e 43 4f 4d   read README.COM
0c30: 50 49 4c 41 54 49 4f 4e 2e 50 52 4f 42 4c 45 4d  PILATION.PROBLEM
0c40: 53 2e 0a 0a 41 74 20 6c 65 61 73 74 20 75 73 69  S...At least usi
0c50: 6e 67 20 4d 53 20 56 69 73 75 61 6c 20 43 2b 2b  ng MS Visual C++
0c60: 20 36 2c 20 79 6f 75 20 63 61 6e 20 62 75 69 6c   6, you can buil
0c70: 64 20 66 72 6f 6d 20 74 68 65 20 75 6e 6d 6f 64  d from the unmod
0c80: 69 66 69 65 64 0a 73 6f 75 72 63 65 73 20 62 79  ified.sources by
0c90: 20 69 73 73 75 69 6e 67 2c 20 69 6e 20 61 20 63   issuing, in a c
0ca0: 6f 6d 6d 61 6e 64 20 73 68 65 6c 6c 3a 20 0a 0a  ommand shell: ..
0cb0: 20 20 20 6e 6d 61 6b 65 20 2d 66 20 6d 61 6b 65     nmake -f make
0cc0: 66 69 6c 65 2e 6d 73 63 0a 0a 28 79 6f 75 20 6d  file.msc..(you m
0cd0: 61 79 20 6e 65 65 64 20 74 6f 20 66 69 72 73 74  ay need to first
0ce0: 20 72 75 6e 20 74 68 65 20 4d 53 56 43 2d 70 72   run the MSVC-pr
0cf0: 6f 76 69 64 65 64 20 73 63 72 69 70 74 20 56 43  ovided script VC
0d00: 56 41 52 53 33 32 2e 42 41 54 0a 20 73 6f 20 61  VARS32.BAT. so a
0d10: 73 20 74 6f 20 73 65 74 20 75 70 20 70 61 74 68  s to set up path
0d20: 73 20 74 6f 20 74 68 65 20 4d 53 56 43 20 74 6f  s to the MSVC to
0d30: 6f 6c 73 20 63 6f 72 72 65 63 74 6c 79 29 2e 0a  ols correctly)..
0d40: 0a 0a 56 41 4c 49 44 41 54 49 4f 4e 0a 0a 43 6f  ..VALIDATION..Co
0d50: 72 72 65 63 74 20 6f 70 65 72 61 74 69 6f 6e 2c  rrect operation,
0d60: 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 74 68   in the sense th
0d70: 61 74 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20  at a compressed 
0d80: 66 69 6c 65 20 63 61 6e 20 61 6c 77 61 79 73 20  file can always 
0d90: 62 65 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20  be.decompressed 
0da0: 74 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65  to reproduce the
0db0: 20 6f 72 69 67 69 6e 61 6c 2c 20 69 73 20 6f 62   original, is ob
0dc0: 76 69 6f 75 73 6c 79 20 6f 66 20 70 61 72 61 6d  viously of param
0dd0: 6f 75 6e 74 0a 69 6d 70 6f 72 74 61 6e 63 65 2e  ount.importance.
0de0: 20 20 54 6f 20 76 61 6c 69 64 61 74 65 20 62 7a    To validate bz
0df0: 69 70 32 2c 20 49 20 75 73 65 64 20 61 20 6d 6f  ip2, I used a mo
0e00: 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f  dified version o
0e10: 66 20 4d 61 72 6b 0a 4e 65 6c 73 6f 6e 27 73 20  f Mark.Nelson's 
0e20: 63 68 75 72 6e 20 70 72 6f 67 72 61 6d 2e 20 20  churn program.  
0e30: 43 68 75 72 6e 20 69 73 20 61 6e 20 61 75 74 6f  Churn is an auto
0e40: 6d 61 74 65 64 20 74 65 73 74 20 64 72 69 76 65  mated test drive
0e50: 72 20 77 68 69 63 68 0a 72 65 63 75 72 73 69 76  r which.recursiv
0e60: 65 6c 79 20 74 72 61 76 65 72 73 65 73 20 61 20  ely traverses a 
0e70: 64 69 72 65 63 74 6f 72 79 20 73 74 72 75 63 74  directory struct
0e80: 75 72 65 2c 20 75 73 69 6e 67 20 62 7a 69 70 32  ure, using bzip2
0e90: 20 74 6f 20 63 6f 6d 70 72 65 73 73 0a 61 6e 64   to compress.and
0ea0: 20 74 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73   then decompress
0eb0: 20 65 61 63 68 20 66 69 6c 65 20 69 74 20 65 6e   each file it en
0ec0: 63 6f 75 6e 74 65 72 73 2c 20 61 6e 64 20 63 68  counters, and ch
0ed0: 65 63 6b 69 6e 67 20 74 68 61 74 20 74 68 65 0a  ecking that the.
0ee0: 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74  decompressed dat
0ef0: 61 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73  a is the same as
0f00: 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2e 0a 0a   the original...
0f10: 0a 0a 50 6c 65 61 73 65 20 72 65 61 64 20 61 6e  ..Please read an
0f20: 64 20 62 65 20 61 77 61 72 65 20 6f 66 20 74 68  d be aware of th
0f30: 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 57 41  e following:..WA
0f40: 52 4e 49 4e 47 3a 0a 0a 20 20 20 54 68 69 73 20  RNING:..   This 
0f50: 70 72 6f 67 72 61 6d 20 61 6e 64 20 6c 69 62 72  program and libr
0f60: 61 72 79 20 28 61 74 74 65 6d 70 74 73 20 74 6f  ary (attempts to
0f70: 29 20 63 6f 6d 70 72 65 73 73 20 64 61 74 61 20  ) compress data 
0f80: 62 79 20 0a 20 20 20 70 65 72 66 6f 72 6d 69 6e  by .   performin
0f90: 67 20 73 65 76 65 72 61 6c 20 6e 6f 6e 2d 74 72  g several non-tr
0fa0: 69 76 69 61 6c 20 74 72 61 6e 73 66 6f 72 6d 61  ivial transforma
0fb0: 74 69 6f 6e 73 20 6f 6e 20 69 74 2e 20 20 0a 20  tions on it.  . 
0fc0: 20 20 55 6e 6c 65 73 73 20 79 6f 75 20 61 72 65    Unless you are
0fd0: 20 31 30 30 25 20 66 61 6d 69 6c 69 61 72 20 77   100% familiar w
0fe0: 69 74 68 20 2a 61 6c 6c 2a 20 74 68 65 20 61 6c  ith *all* the al
0ff0: 67 6f 72 69 74 68 6d 73 20 0a 20 20 20 63 6f 6e  gorithms .   con
1000: 74 61 69 6e 65 64 20 68 65 72 65 69 6e 2c 20 61  tained herein, a
1010: 6e 64 20 77 69 74 68 20 74 68 65 20 63 6f 6e 73  nd with the cons
1020: 65 71 75 65 6e 63 65 73 20 6f 66 20 6d 6f 64 69  equences of modi
1030: 66 79 69 6e 67 20 74 68 65 6d 2c 20 0a 20 20 20  fying them, .   
1040: 79 6f 75 20 73 68 6f 75 6c 64 20 4e 4f 54 20 6d  you should NOT m
1050: 65 64 64 6c 65 20 77 69 74 68 20 74 68 65 20 63  eddle with the c
1060: 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 72 20 64 65  ompression or de
1070: 63 6f 6d 70 72 65 73 73 69 6f 6e 20 0a 20 20 20  compression .   
1080: 6d 61 63 68 69 6e 65 72 79 2e 20 20 49 6e 63 6f  machinery.  Inco
1090: 72 72 65 63 74 20 63 68 61 6e 67 65 73 20 63 61  rrect changes ca
10a0: 6e 20 61 6e 64 20 76 65 72 79 20 6c 69 6b 65 6c  n and very likel
10b0: 79 20 2a 77 69 6c 6c 2a 20 0a 20 20 20 6c 65 61  y *will* .   lea
10c0: 64 20 74 6f 20 64 69 73 61 73 74 72 6f 75 73 20  d to disastrous 
10d0: 6c 6f 73 73 20 6f 66 20 64 61 74 61 2e 0a 0a 0a  loss of data....
10e0: 44 49 53 43 4c 41 49 4d 45 52 3a 0a 0a 20 20 20  DISCLAIMER:..   
10f0: 49 20 54 41 4b 45 20 4e 4f 20 52 45 53 50 4f 4e  I TAKE NO RESPON
1100: 53 49 42 49 4c 49 54 59 20 46 4f 52 20 41 4e 59  SIBILITY FOR ANY
1110: 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 41 52   LOSS OF DATA AR
1120: 49 53 49 4e 47 20 46 52 4f 4d 20 54 48 45 0a 20  ISING FROM THE. 
1130: 20 20 55 53 45 20 4f 46 20 54 48 49 53 20 50 52    USE OF THIS PR
1140: 4f 47 52 41 4d 2f 4c 49 42 52 41 52 59 2c 20 48  OGRAM/LIBRARY, H
1150: 4f 57 53 4f 45 56 45 52 20 43 41 55 53 45 44 2e  OWSOEVER CAUSED.
1160: 0a 0a 20 20 20 45 76 65 72 79 20 63 6f 6d 70 72  ..   Every compr
1170: 65 73 73 69 6f 6e 20 6f 66 20 61 20 66 69 6c 65  ession of a file
1180: 20 69 6d 70 6c 69 65 73 20 61 6e 20 61 73 73 75   implies an assu
1190: 6d 70 74 69 6f 6e 20 74 68 61 74 20 74 68 65 0a  mption that the.
11a0: 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69     compressed fi
11b0: 6c 65 20 63 61 6e 20 62 65 20 64 65 63 6f 6d 70  le can be decomp
11c0: 72 65 73 73 65 64 20 74 6f 20 72 65 70 72 6f 64  ressed to reprod
11d0: 75 63 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c  uce the original
11e0: 2e 0a 20 20 20 47 72 65 61 74 20 65 66 66 6f 72  ..   Great effor
11f0: 74 73 20 69 6e 20 64 65 73 69 67 6e 2c 20 63 6f  ts in design, co
1200: 64 69 6e 67 20 61 6e 64 20 74 65 73 74 69 6e 67  ding and testing
1210: 20 68 61 76 65 20 62 65 65 6e 20 6d 61 64 65 20   have been made 
1220: 74 6f 0a 20 20 20 65 6e 73 75 72 65 20 74 68 61  to.   ensure tha
1230: 74 20 74 68 69 73 20 70 72 6f 67 72 61 6d 20 77  t this program w
1240: 6f 72 6b 73 20 63 6f 72 72 65 63 74 6c 79 2e 20  orks correctly. 
1250: 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 63 6f   However, the co
1260: 6d 70 6c 65 78 69 74 79 0a 20 20 20 6f 66 20 74  mplexity.   of t
1270: 68 65 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 61  he algorithms, a
1280: 6e 64 2c 20 69 6e 20 70 61 72 74 69 63 75 6c 61  nd, in particula
1290: 72 2c 20 74 68 65 20 70 72 65 73 65 6e 63 65 20  r, the presence 
12a0: 6f 66 20 76 61 72 69 6f 75 73 0a 20 20 20 73 70  of various.   sp
12b0: 65 63 69 61 6c 20 63 61 73 65 73 20 69 6e 20 74  ecial cases in t
12c0: 68 65 20 63 6f 64 65 20 77 68 69 63 68 20 6f 63  he code which oc
12d0: 63 75 72 20 77 69 74 68 20 76 65 72 79 20 6c 6f  cur with very lo
12e0: 77 20 62 75 74 20 6e 6f 6e 2d 7a 65 72 6f 0a 20  w but non-zero. 
12f0: 20 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 61    probability ma
1300: 6b 65 20 69 74 20 69 6d 70 6f 73 73 69 62 6c 65  ke it impossible
1310: 20 74 6f 20 72 75 6c 65 20 6f 75 74 20 74 68 65   to rule out the
1320: 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20   possibility of 
1330: 62 75 67 73 0a 20 20 20 72 65 6d 61 69 6e 69 6e  bugs.   remainin
1340: 67 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d  g in the program
1350: 2e 20 20 44 4f 20 4e 4f 54 20 43 4f 4d 50 52 45  .  DO NOT COMPRE
1360: 53 53 20 41 4e 59 20 44 41 54 41 20 57 49 54 48  SS ANY DATA WITH
1370: 20 54 48 49 53 0a 20 20 20 50 52 4f 47 52 41 4d   THIS.   PROGRAM
1380: 20 55 4e 4c 45 53 53 20 59 4f 55 20 41 52 45 20   UNLESS YOU ARE 
1390: 50 52 45 50 41 52 45 44 20 54 4f 20 41 43 43 45  PREPARED TO ACCE
13a0: 50 54 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49  PT THE POSSIBILI
13b0: 54 59 2c 20 48 4f 57 45 56 45 52 0a 20 20 20 53  TY, HOWEVER.   S
13c0: 4d 41 4c 4c 2c 20 54 48 41 54 20 54 48 45 20 44  MALL, THAT THE D
13d0: 41 54 41 20 57 49 4c 4c 20 4e 4f 54 20 42 45 20  ATA WILL NOT BE 
13e0: 52 45 43 4f 56 45 52 41 42 4c 45 2e 0a 0a 20 20  RECOVERABLE...  
13f0: 20 54 68 61 74 20 69 73 20 6e 6f 74 20 74 6f 20   That is not to 
1400: 73 61 79 20 74 68 69 73 20 70 72 6f 67 72 61 6d  say this program
1410: 20 69 73 20 69 6e 68 65 72 65 6e 74 6c 79 20 75   is inherently u
1420: 6e 72 65 6c 69 61 62 6c 65 2e 20 20 0a 20 20 20  nreliable.  .   
1430: 49 6e 64 65 65 64 2c 20 49 20 76 65 72 79 20 6d  Indeed, I very m
1440: 75 63 68 20 68 6f 70 65 20 74 68 65 20 6f 70 70  uch hope the opp
1450: 6f 73 69 74 65 20 69 73 20 74 72 75 65 2e 20 20  osite is true.  
1460: 62 7a 69 70 32 2f 6c 69 62 62 7a 69 70 32 20 0a  bzip2/libbzip2 .
1470: 20 20 20 68 61 73 20 62 65 65 6e 20 63 61 72 65     has been care
1480: 66 75 6c 6c 79 20 63 6f 6e 73 74 72 75 63 74 65  fully constructe
1490: 64 20 61 6e 64 20 65 78 74 65 6e 73 69 76 65 6c  d and extensivel
14a0: 79 20 74 65 73 74 65 64 2e 0a 0a 0a 50 41 54 45  y tested....PATE
14b0: 4e 54 53 3a 0a 0a 20 20 20 54 6f 20 74 68 65 20  NTS:..   To the 
14c0: 62 65 73 74 20 6f 66 20 6d 79 20 6b 6e 6f 77 6c  best of my knowl
14d0: 65 64 67 65 2c 20 62 7a 69 70 32 2f 6c 69 62 62  edge, bzip2/libb
14e0: 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 75 73  zip2 does not us
14f0: 65 20 61 6e 79 20 0a 20 20 20 70 61 74 65 6e 74  e any .   patent
1500: 65 64 20 61 6c 67 6f 72 69 74 68 6d 73 2e 20 20  ed algorithms.  
1510: 48 6f 77 65 76 65 72 2c 20 49 20 64 6f 20 6e 6f  However, I do no
1520: 74 20 68 61 76 65 20 74 68 65 20 72 65 73 6f 75  t have the resou
1530: 72 63 65 73 20 0a 20 20 20 74 6f 20 63 61 72 72  rces .   to carr
1540: 79 20 6f 75 74 20 61 20 70 61 74 65 6e 74 20 73  y out a patent s
1550: 65 61 72 63 68 2e 20 20 54 68 65 72 65 66 6f 72  earch.  Therefor
1560: 65 20 49 20 63 61 6e 6e 6f 74 20 67 69 76 65 20  e I cannot give 
1570: 61 6e 79 20 0a 20 20 20 67 75 61 72 61 6e 74 65  any .   guarante
1580: 65 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 73  e of the above s
1590: 74 61 74 65 6d 65 6e 74 2e 0a 0a 0a 0a 57 48 41  tatement.....WHA
15a0: 54 27 53 20 4e 45 57 20 49 4e 20 30 2e 39 2e 30  T'S NEW IN 0.9.0
15b0: 20 28 61 73 20 63 6f 6d 70 61 72 65 64 20 74 6f   (as compared to
15c0: 20 30 2e 31 70 6c 32 29 20 3f 0a 0a 20 20 20 2a   0.1pl2) ?..   *
15d0: 20 41 70 70 72 6f 78 20 31 30 25 20 66 61 73 74   Approx 10% fast
15e0: 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20  er compression, 
15f0: 33 30 25 20 66 61 73 74 65 72 20 64 65 63 6f 6d  30% faster decom
1600: 70 72 65 73 73 69 6f 6e 0a 20 20 20 2a 20 2d 74  pression.   * -t
1610: 20 28 74 65 73 74 20 6d 6f 64 65 29 20 69 73 20   (test mode) is 
1620: 61 20 6c 6f 74 20 71 75 69 63 6b 65 72 0a 20 20  a lot quicker.  
1630: 20 2a 20 43 61 6e 20 64 65 63 6f 6d 70 72 65 73   * Can decompres
1640: 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 20 63  s concatenated c
1650: 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 0a  ompressed files.
1660: 20 20 20 2a 20 50 72 6f 67 72 61 6d 6d 69 6e 67     * Programming
1670: 20 69 6e 74 65 72 66 61 63 65 2c 20 73 6f 20 70   interface, so p
1680: 72 6f 67 72 61 6d 73 20 63 61 6e 20 64 69 72 65  rograms can dire
1690: 63 74 6c 79 20 72 65 61 64 2f 77 72 69 74 65 20  ctly read/write 
16a0: 2e 62 7a 32 20 66 69 6c 65 73 0a 20 20 20 2a 20  .bz2 files.   * 
16b0: 4c 65 73 73 20 72 65 73 74 72 69 63 74 69 76 65  Less restrictive
16c0: 20 28 42 53 44 2d 73 74 79 6c 65 29 20 6c 69 63   (BSD-style) lic
16d0: 65 6e 73 69 6e 67 0a 20 20 20 2a 20 46 6c 61 67  ensing.   * Flag
16e0: 20 68 61 6e 64 6c 69 6e 67 20 6d 6f 72 65 20 63   handling more c
16f0: 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 47  ompatible with G
1700: 4e 55 20 67 7a 69 70 0a 20 20 20 2a 20 4d 75 63  NU gzip.   * Muc
1710: 68 20 6d 6f 72 65 20 64 6f 63 75 6d 65 6e 74 61  h more documenta
1720: 74 69 6f 6e 2c 20 69 2e 65 2e 2c 20 61 20 70 72  tion, i.e., a pr
1730: 6f 70 65 72 20 75 73 65 72 20 6d 61 6e 75 61 6c  oper user manual
1740: 0a 20 20 20 2a 20 48 6f 70 65 66 75 6c 6c 79 2c  .   * Hopefully,
1750: 20 69 6d 70 72 6f 76 65 64 20 70 6f 72 74 61 62   improved portab
1760: 69 6c 69 74 79 20 28 61 74 20 6c 65 61 73 74 20  ility (at least 
1770: 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 29 0a  of the library).
1780: 0a 57 48 41 54 27 53 20 4e 45 57 20 49 4e 20 30  .WHAT'S NEW IN 0
1790: 2e 39 2e 35 20 3f 0a 0a 20 20 20 2a 20 43 6f 6d  .9.5 ?..   * Com
17a0: 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69  pression speed i
17b0: 73 20 6d 75 63 68 20 6c 65 73 73 20 73 65 6e 73  s much less sens
17c0: 69 74 69 76 65 20 74 6f 20 74 68 65 20 69 6e 70  itive to the inp
17d0: 75 74 0a 20 20 20 20 20 64 61 74 61 20 74 68 61  ut.     data tha
17e0: 6e 20 69 6e 20 70 72 65 76 69 6f 75 73 20 76 65  n in previous ve
17f0: 72 73 69 6f 6e 73 2e 20 20 53 70 65 63 69 66 69  rsions.  Specifi
1800: 63 61 6c 6c 79 2c 20 74 68 65 20 76 65 72 79 0a  cally, the very.
1810: 20 20 20 20 20 73 6c 6f 77 20 70 65 72 66 6f 72       slow perfor
1820: 6d 61 6e 63 65 20 63 61 75 73 65 64 20 62 79 20  mance caused by 
1830: 72 65 70 65 74 69 74 69 76 65 20 64 61 74 61 20  repetitive data 
1840: 69 73 20 66 69 78 65 64 2e 0a 20 20 20 2a 20 4d  is fixed..   * M
1850: 61 6e 79 20 73 6d 61 6c 6c 20 69 6d 70 72 6f 76  any small improv
1860: 65 6d 65 6e 74 73 20 69 6e 20 66 69 6c 65 20 61  ements in file a
1870: 6e 64 20 66 6c 61 67 20 68 61 6e 64 6c 69 6e 67  nd flag handling
1880: 2e 0a 20 20 20 2a 20 41 20 59 32 4b 20 73 74 61  ..   * A Y2K sta
1890: 74 65 6d 65 6e 74 2e 0a 0a 57 48 41 54 27 53 20  tement...WHAT'S 
18a0: 4e 45 57 20 49 4e 20 31 2e 30 2e 30 20 3f 0a 0a  NEW IN 1.0.0 ?..
18b0: 20 20 20 53 65 65 20 74 68 65 20 43 48 41 4e 47     See the CHANG
18c0: 45 53 20 66 69 6c 65 2e 0a 0a 57 48 41 54 27 53  ES file...WHAT'S
18d0: 20 4e 45 57 20 49 4e 20 31 2e 30 2e 32 20 3f 0a   NEW IN 1.0.2 ?.
18e0: 0a 20 20 20 53 65 65 20 74 68 65 20 43 48 41 4e  .   See the CHAN
18f0: 47 45 53 20 66 69 6c 65 2e 0a 0a 57 48 41 54 27  GES file...WHAT'
1900: 53 20 4e 45 57 20 49 4e 20 31 2e 30 2e 33 20 3f  S NEW IN 1.0.3 ?
1910: 0a 0a 20 20 20 53 65 65 20 74 68 65 20 43 48 41  ..   See the CHA
1920: 4e 47 45 53 20 66 69 6c 65 2e 0a 0a 57 48 41 54  NGES file...WHAT
1930: 27 53 20 4e 45 57 20 49 4e 20 31 2e 30 2e 34 20  'S NEW IN 1.0.4 
1940: 3f 0a 0a 20 20 20 53 65 65 20 74 68 65 20 43 48  ?..   See the CH
1950: 41 4e 47 45 53 20 66 69 6c 65 2e 0a 0a 57 48 41  ANGES file...WHA
1960: 54 27 53 20 4e 45 57 20 49 4e 20 31 2e 30 2e 35  T'S NEW IN 1.0.5
1970: 20 3f 0a 0a 20 20 20 53 65 65 20 74 68 65 20 43   ?..   See the C
1980: 48 41 4e 47 45 53 20 66 69 6c 65 2e 0a 0a 57 48  HANGES file...WH
1990: 41 54 27 53 20 4e 45 57 20 49 4e 20 31 2e 30 2e  AT'S NEW IN 1.0.
19a0: 36 20 3f 0a 0a 20 20 20 53 65 65 20 74 68 65 20  6 ?..   See the 
19b0: 43 48 41 4e 47 45 53 20 66 69 6c 65 2e 0a 0a 0a  CHANGES file....
19c0: 49 20 68 6f 70 65 20 79 6f 75 20 66 69 6e 64 20  I hope you find 
19d0: 62 7a 69 70 32 20 75 73 65 66 75 6c 2e 20 20 46  bzip2 useful.  F
19e0: 65 65 6c 20 66 72 65 65 20 74 6f 20 63 6f 6e 74  eel free to cont
19f0: 61 63 74 20 6d 65 20 61 74 0a 20 20 20 6a 73 65  act me at.   jse
1a00: 77 61 72 64 40 62 7a 69 70 2e 6f 72 67 0a 69 66  ward@bzip.org.if
1a10: 20 79 6f 75 20 68 61 76 65 20 61 6e 79 20 73 75   you have any su
1a20: 67 67 65 73 74 69 6f 6e 73 20 6f 72 20 71 75 65  ggestions or que
1a30: 72 69 65 73 2e 20 20 4d 61 6e 79 20 70 65 6f 70  ries.  Many peop
1a40: 6c 65 20 6d 61 69 6c 65 64 20 6d 65 20 77 69 74  le mailed me wit
1a50: 68 0a 63 6f 6d 6d 65 6e 74 73 2c 20 73 75 67 67  h.comments, sugg
1a60: 65 73 74 69 6f 6e 73 20 61 6e 64 20 70 61 74 63  estions and patc
1a70: 68 65 73 20 61 66 74 65 72 20 74 68 65 20 72 65  hes after the re
1a80: 6c 65 61 73 65 73 20 6f 66 20 62 7a 69 70 2d 30  leases of bzip-0
1a90: 2e 31 35 2c 0a 62 7a 69 70 2d 30 2e 32 31 2c 20  .15,.bzip-0.21, 
1aa0: 61 6e 64 20 62 7a 69 70 32 20 76 65 72 73 69 6f  and bzip2 versio
1ab0: 6e 73 20 30 2e 31 70 6c 32 2c 20 30 2e 39 2e 30  ns 0.1pl2, 0.9.0
1ac0: 2c 20 30 2e 39 2e 35 2c 20 31 2e 30 2e 30 2c 20  , 0.9.5, 1.0.0, 
1ad0: 31 2e 30 2e 31 2c 0a 31 2e 30 2e 32 20 61 6e 64  1.0.1,.1.0.2 and
1ae0: 20 31 2e 30 2e 33 2c 20 61 6e 64 20 74 68 65 20   1.0.3, and the 
1af0: 63 68 61 6e 67 65 73 20 69 6e 20 62 7a 69 70 32  changes in bzip2
1b00: 20 61 72 65 20 6c 61 72 67 65 6c 79 20 61 20 72   are largely a r
1b10: 65 73 75 6c 74 20 6f 66 20 74 68 69 73 0a 66 65  esult of this.fe
1b20: 65 64 62 61 63 6b 2e 20 20 49 20 74 68 61 6e 6b  edback.  I thank
1b30: 20 79 6f 75 20 66 6f 72 20 79 6f 75 72 20 63 6f   you for your co
1b40: 6d 6d 65 6e 74 73 2e 0a 0a 62 7a 69 70 32 27 73  mments...bzip2's
1b50: 20 22 68 6f 6d 65 22 20 69 73 20 68 74 74 70 3a   "home" is http:
1b60: 2f 2f 77 77 77 2e 62 7a 69 70 2e 6f 72 67 2f 0a  //www.bzip.org/.
1b70: 0a 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 0a 6a  .Julian Seward.j
1b80: 73 65 77 61 72 64 40 62 7a 69 70 2e 6f 72 67 0a  seward@bzip.org.
1b90: 43 61 6d 62 72 69 64 67 65 2c 20 55 4b 2e 0a 0a  Cambridge, UK...
1ba0: 31 38 20 20 20 20 20 4a 75 6c 79 20 31 39 39 36  18     July 1996
1bb0: 20 28 76 65 72 73 69 6f 6e 20 30 2e 31 35 29 0a   (version 0.15).
1bc0: 32 35 20 20 20 41 75 67 75 73 74 20 31 39 39 36  25   August 1996
1bd0: 20 28 76 65 72 73 69 6f 6e 20 30 2e 32 31 29 0a   (version 0.21).
1be0: 20 37 20 20 20 41 75 67 75 73 74 20 31 39 39 37   7   August 1997
1bf0: 20 28 62 7a 69 70 32 2c 20 76 65 72 73 69 6f 6e   (bzip2, version
1c00: 20 30 2e 31 29 0a 32 39 20 20 20 41 75 67 75 73   0.1).29   Augus
1c10: 74 20 31 39 39 37 20 28 62 7a 69 70 32 2c 20 76  t 1997 (bzip2, v
1c20: 65 72 73 69 6f 6e 20 30 2e 31 70 6c 32 29 0a 32  ersion 0.1pl2).2
1c30: 33 20 20 20 41 75 67 75 73 74 20 31 39 39 38 20  3   August 1998 
1c40: 28 62 7a 69 70 32 2c 20 76 65 72 73 69 6f 6e 20  (bzip2, version 
1c50: 30 2e 39 2e 30 29 0a 20 38 20 20 20 20 20 4a 75  0.9.0). 8     Ju
1c60: 6e 65 20 31 39 39 39 20 28 62 7a 69 70 32 2c 20  ne 1999 (bzip2, 
1c70: 76 65 72 73 69 6f 6e 20 30 2e 39 2e 35 29 0a 20  version 0.9.5). 
1c80: 34 20 20 20 20 20 53 65 70 74 20 31 39 39 39 20  4     Sept 1999 
1c90: 28 62 7a 69 70 32 2c 20 76 65 72 73 69 6f 6e 20  (bzip2, version 
1ca0: 30 2e 39 2e 35 64 29 0a 20 35 20 20 20 20 20 20  0.9.5d). 5      
1cb0: 4d 61 79 20 32 30 30 30 20 28 62 7a 69 70 32 2c  May 2000 (bzip2,
1cc0: 20 76 65 72 73 69 6f 6e 20 31 2e 30 70 72 65 38   version 1.0pre8
1cd0: 29 0a 33 30 20 44 65 63 65 6d 62 65 72 20 32 30  ).30 December 20
1ce0: 30 31 20 28 62 7a 69 70 32 2c 20 76 65 72 73 69  01 (bzip2, versi
1cf0: 6f 6e 20 31 2e 30 2e 32 70 72 65 31 29 0a 31 35  on 1.0.2pre1).15
1d00: 20 46 65 62 72 75 61 72 79 20 32 30 30 35 20 28   February 2005 (
1d10: 62 7a 69 70 32 2c 20 76 65 72 73 69 6f 6e 20 31  bzip2, version 1
1d20: 2e 30 2e 33 29 0a 32 30 20 44 65 63 65 6d 62 65  .0.3).20 Decembe
1d30: 72 20 32 30 30 36 20 28 62 7a 69 70 32 2c 20 76  r 2006 (bzip2, v
1d40: 65 72 73 69 6f 6e 20 31 2e 30 2e 34 29 0a 31 30  ersion 1.0.4).10
1d50: 20 44 65 63 65 6d 62 65 72 20 32 30 30 37 20 28   December 2007 (
1d60: 62 7a 69 70 32 2c 20 76 65 72 73 69 6f 6e 20 31  bzip2, version 1
1d70: 2e 30 2e 35 29 0a 20 36 20 20 20 20 20 53 65 70  .0.5). 6     Sep
1d80: 74 20 32 30 31 30 20 28 62 7a 69 70 32 2c 20 76  t 2010 (bzip2, v
1d90: 65 72 73 69 6f 6e 20 31 2e 30 2e 36 29 0a        ersion 1.0.6).