mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-05 15:20:24 +00:00
Merge branch 'upstream-bzip2' into update-bzip2
# By bzip2 upstream * upstream-bzip2: bzip2 2019-07-13 (6a8690fc)
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
This program, "bzip2", the associated library "libbzip2", and all
|
This program, "bzip2", the associated library "libbzip2", and all
|
||||||
documentation, are copyright (C) 1996-2007 Julian R Seward. All
|
documentation, are copyright (C) 1996-2019 Julian R Seward. All
|
||||||
rights reserved.
|
rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
@@ -36,7 +36,7 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|||||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
Julian Seward, jseward@bzip.org
|
Julian Seward, jseward@acm.org
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
|
|
||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ This version is fully compatible with the previous public releases.
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
|
Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
|
|||||||
|
|
||||||
It's difficult for me to support compilation on all these platforms.
|
It's difficult for me to support compilation on all these platforms.
|
||||||
My approach is to collect binaries for these platforms, and put them
|
My approach is to collect binaries for these platforms, and put them
|
||||||
on the master web site (http://www.bzip.org). Look there. However
|
on the master web site (https://sourceware.org/bzip2/). Look there. However
|
||||||
(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
|
(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
|
||||||
unmodified with MS Visual C. If you have difficulties building, you
|
unmodified with MS Visual C. If you have difficulties building, you
|
||||||
might want to read README.COMPILATION.PROBLEMS.
|
might want to read README.COMPILATION.PROBLEMS.
|
||||||
@@ -161,39 +161,22 @@ WHAT'S NEW IN 0.9.5 ?
|
|||||||
* Many small improvements in file and flag handling.
|
* Many small improvements in file and flag handling.
|
||||||
* A Y2K statement.
|
* A Y2K statement.
|
||||||
|
|
||||||
WHAT'S NEW IN 1.0.0 ?
|
WHAT'S NEW IN 1.0.x ?
|
||||||
|
|
||||||
See the CHANGES file.
|
See the CHANGES file.
|
||||||
|
|
||||||
WHAT'S NEW IN 1.0.2 ?
|
I hope you find bzip2 useful. Feel free to contact the developers at
|
||||||
|
bzip2-devel@sourceware.org
|
||||||
See the CHANGES file.
|
|
||||||
|
|
||||||
WHAT'S NEW IN 1.0.3 ?
|
|
||||||
|
|
||||||
See the CHANGES file.
|
|
||||||
|
|
||||||
WHAT'S NEW IN 1.0.4 ?
|
|
||||||
|
|
||||||
See the CHANGES file.
|
|
||||||
|
|
||||||
WHAT'S NEW IN 1.0.5 ?
|
|
||||||
|
|
||||||
See the CHANGES file.
|
|
||||||
|
|
||||||
|
|
||||||
I hope you find bzip2 useful. Feel free to contact me at
|
|
||||||
jseward@bzip.org
|
|
||||||
if you have any suggestions or queries. Many people mailed me with
|
if you have any suggestions or queries. Many people mailed me with
|
||||||
comments, suggestions and patches after the releases of bzip-0.15,
|
comments, suggestions and patches after the releases of bzip-0.15,
|
||||||
bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
|
bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
|
||||||
1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
|
1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
|
||||||
feedback. I thank you for your comments.
|
feedback. I thank you for your comments.
|
||||||
|
|
||||||
bzip2's "home" is http://www.bzip.org/
|
bzip2's "home" is https://sourceware.org/bzip2/
|
||||||
|
|
||||||
Julian Seward
|
Julian Seward
|
||||||
jseward@bzip.org
|
jseward@acm.org
|
||||||
Cambridge, UK.
|
Cambridge, UK.
|
||||||
|
|
||||||
18 July 1996 (version 0.15)
|
18 July 1996 (version 0.15)
|
||||||
@@ -208,3 +191,6 @@ Cambridge, UK.
|
|||||||
15 February 2005 (bzip2, version 1.0.3)
|
15 February 2005 (bzip2, version 1.0.3)
|
||||||
20 December 2006 (bzip2, version 1.0.4)
|
20 December 2006 (bzip2, version 1.0.4)
|
||||||
10 December 2007 (bzip2, version 1.0.5)
|
10 December 2007 (bzip2, version 1.0.5)
|
||||||
|
6 Sept 2010 (bzip2, version 1.0.6)
|
||||||
|
27 June 2019 (bzip2, version 1.0.7)
|
||||||
|
13 July 2019 (bzip2, version 1.0.8)
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -202,9 +202,9 @@ void fallbackQSort3 ( UInt32* fmap,
|
|||||||
bhtab [ 0 .. 2+(nblock/32) ] destroyed
|
bhtab [ 0 .. 2+(nblock/32) ] destroyed
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
|
#define SET_BH(zz) bhtab[(zz) >> 5] |= ((UInt32)1 << ((zz) & 31))
|
||||||
#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
|
#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~((UInt32)1 << ((zz) & 31))
|
||||||
#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
|
#define ISSET_BH(zz) (bhtab[(zz) >> 5] & ((UInt32)1 << ((zz) & 31)))
|
||||||
#define WORD_BH(zz) bhtab[(zz) >> 5]
|
#define WORD_BH(zz) bhtab[(zz) >> 5]
|
||||||
#define UNALIGNED_BH(zz) ((zz) & 0x01f)
|
#define UNALIGNED_BH(zz) ((zz) & 0x01f)
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -128,12 +128,12 @@
|
|||||||
#if BZ_LCCWIN32
|
#if BZ_LCCWIN32
|
||||||
# include <io.h>
|
# include <io.h>
|
||||||
# include <fcntl.h>
|
# include <fcntl.h>
|
||||||
# include <sys\stat.h>
|
# include <sys/stat.h>
|
||||||
|
|
||||||
# define NORETURN /**/
|
# define NORETURN /**/
|
||||||
# define PATH_SEP '\\'
|
# define PATH_SEP '\\'
|
||||||
# define MY_LSTAT _stat
|
# define MY_LSTAT _stati64
|
||||||
# define MY_STAT _stat
|
# define MY_STAT _stati64
|
||||||
# define MY_S_ISREG(x) ((x) & _S_IFREG)
|
# define MY_S_ISREG(x) ((x) & _S_IFREG)
|
||||||
# define MY_S_ISDIR(x) ((x) & _S_IFDIR)
|
# define MY_S_ISDIR(x) ((x) & _S_IFDIR)
|
||||||
|
|
||||||
@@ -554,7 +554,7 @@ static
|
|||||||
Bool testStream ( FILE *zStream )
|
Bool testStream ( FILE *zStream )
|
||||||
{
|
{
|
||||||
BZFILE* bzf = NULL;
|
BZFILE* bzf = NULL;
|
||||||
Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i;
|
Int32 bzerr, bzerr_dummy, ret, streamNo, i;
|
||||||
UChar obuf[5000];
|
UChar obuf[5000];
|
||||||
UChar unused[BZ_MAX_UNUSED];
|
UChar unused[BZ_MAX_UNUSED];
|
||||||
Int32 nUnused;
|
Int32 nUnused;
|
||||||
@@ -577,7 +577,7 @@ Bool testStream ( FILE *zStream )
|
|||||||
streamNo++;
|
streamNo++;
|
||||||
|
|
||||||
while (bzerr == BZ_OK) {
|
while (bzerr == BZ_OK) {
|
||||||
nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
|
BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
|
||||||
if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
|
if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
|
||||||
}
|
}
|
||||||
if (bzerr != BZ_STREAM_END) goto errhandler;
|
if (bzerr != BZ_STREAM_END) goto errhandler;
|
||||||
@@ -748,8 +748,8 @@ void panic ( const Char* s )
|
|||||||
fprintf ( stderr,
|
fprintf ( stderr,
|
||||||
"\n%s: PANIC -- internal consistency error:\n"
|
"\n%s: PANIC -- internal consistency error:\n"
|
||||||
"\t%s\n"
|
"\t%s\n"
|
||||||
"\tThis is a BUG. Please report it to me at:\n"
|
"\tThis is a BUG. Please report it to:\n"
|
||||||
"\tjseward@bzip.org\n",
|
"\tbzip2-devel@sourceware.org\n",
|
||||||
progName, s );
|
progName, s );
|
||||||
showFileNames();
|
showFileNames();
|
||||||
cleanUpAndFail( 3 );
|
cleanUpAndFail( 3 );
|
||||||
@@ -829,7 +829,7 @@ void mySIGSEGVorSIGBUScatcher ( IntNative n )
|
|||||||
" The user's manual, Section 4.3, has more info on (1) and (2).\n"
|
" The user's manual, Section 4.3, has more info on (1) and (2).\n"
|
||||||
" \n"
|
" \n"
|
||||||
" If you suspect this is a bug in bzip2, or are unsure about (1)\n"
|
" If you suspect this is a bug in bzip2, or are unsure about (1)\n"
|
||||||
" or (2), feel free to report it to me at: jseward@bzip.org.\n"
|
" or (2), feel free to report it to: bzip2-devel@sourceware.org.\n"
|
||||||
" Section 4.3 of the user's manual describes the info a useful\n"
|
" Section 4.3 of the user's manual describes the info a useful\n"
|
||||||
" bug report should have. If the manual is available on your\n"
|
" bug report should have. If the manual is available on your\n"
|
||||||
" system, please try and read it before mailing me. If you don't\n"
|
" system, please try and read it before mailing me. If you don't\n"
|
||||||
@@ -852,7 +852,7 @@ void mySIGSEGVorSIGBUScatcher ( IntNative n )
|
|||||||
" The user's manual, Section 4.3, has more info on (2) and (3).\n"
|
" The user's manual, Section 4.3, has more info on (2) and (3).\n"
|
||||||
" \n"
|
" \n"
|
||||||
" If you suspect this is a bug in bzip2, or are unsure about (2)\n"
|
" If you suspect this is a bug in bzip2, or are unsure about (2)\n"
|
||||||
" or (3), feel free to report it to me at: jseward@bzip.org.\n"
|
" or (3), feel free to report it to: bzip2-devel@sourceware.org.\n"
|
||||||
" Section 4.3 of the user's manual describes the info a useful\n"
|
" Section 4.3 of the user's manual describes the info a useful\n"
|
||||||
" bug report should have. If the manual is available on your\n"
|
" bug report should have. If the manual is available on your\n"
|
||||||
" system, please try and read it before mailing me. If you don't\n"
|
" system, please try and read it before mailing me. If you don't\n"
|
||||||
@@ -1605,11 +1605,11 @@ void license ( void )
|
|||||||
"bzip2, a block-sorting file compressor. "
|
"bzip2, a block-sorting file compressor. "
|
||||||
"Version %s.\n"
|
"Version %s.\n"
|
||||||
" \n"
|
" \n"
|
||||||
" Copyright (C) 1996-2007 by Julian Seward.\n"
|
" Copyright (C) 1996-2019 by Julian Seward.\n"
|
||||||
" \n"
|
" \n"
|
||||||
" This program is free software; you can redistribute it and/or modify\n"
|
" This program is free software; you can redistribute it and/or modify\n"
|
||||||
" it under the terms set out in the LICENSE file, which is included\n"
|
" it under the terms set out in the LICENSE file, which is included\n"
|
||||||
" in the bzip2-1.0.5 source distribution.\n"
|
" in the bzip2 source distribution.\n"
|
||||||
" \n"
|
" \n"
|
||||||
" This program is distributed in the hope that it will be useful,\n"
|
" This program is distributed in the hope that it will be useful,\n"
|
||||||
" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
|
||||||
@@ -2003,12 +2003,14 @@ IntNative main ( IntNative argc, Char *argv[] )
|
|||||||
testf ( aa->name );
|
testf ( aa->name );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (testFailsExist && noisy) {
|
if (testFailsExist) {
|
||||||
fprintf ( stderr,
|
if (noisy) {
|
||||||
"\n"
|
fprintf ( stderr,
|
||||||
"You can use the `bzip2recover' program to attempt to recover\n"
|
"\n"
|
||||||
"data from undamaged sections of corrupted files.\n\n"
|
"You can use the `bzip2recover' program to attempt to recover\n"
|
||||||
);
|
"data from undamaged sections of corrupted files.\n\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
setExit(2);
|
setExit(2);
|
||||||
exit(exitValue);
|
exit(exitValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -309,11 +309,12 @@ Int32 main ( Int32 argc, Char** argv )
|
|||||||
UInt32 buffHi, buffLo, blockCRC;
|
UInt32 buffHi, buffLo, blockCRC;
|
||||||
Char* p;
|
Char* p;
|
||||||
|
|
||||||
strcpy ( progName, argv[0] );
|
strncpy ( progName, argv[0], BZ_MAX_FILENAME-1);
|
||||||
|
progName[BZ_MAX_FILENAME-1]='\0';
|
||||||
inFileName[0] = outFileName[0] = 0;
|
inFileName[0] = outFileName[0] = 0;
|
||||||
|
|
||||||
fprintf ( stderr,
|
fprintf ( stderr,
|
||||||
"bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" );
|
"bzip2recover 1.0.8: extracts blocks from damaged .bz2 files.\n" );
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
|
fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
|
||||||
@@ -457,6 +458,7 @@ Int32 main ( Int32 argc, Char** argv )
|
|||||||
bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
|
bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
|
||||||
bsPutUInt32 ( bsWr, blockCRC );
|
bsPutUInt32 ( bsWr, blockCRC );
|
||||||
bsClose ( bsWr );
|
bsClose ( bsWr );
|
||||||
|
outFile = NULL;
|
||||||
}
|
}
|
||||||
if (wrBlock >= rbCtr) break;
|
if (wrBlock >= rbCtr) break;
|
||||||
wrBlock++;
|
wrBlock++;
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -43,12 +43,12 @@ void BZ2_bz__AssertH__fail ( int errcode )
|
|||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"\n\nbzip2/libbzip2: internal error number %d.\n"
|
"\n\nbzip2/libbzip2: internal error number %d.\n"
|
||||||
"This is a bug in bzip2/libbzip2, %s.\n"
|
"This is a bug in bzip2/libbzip2, %s.\n"
|
||||||
"Please report it to me at: jseward@bzip.org. If this happened\n"
|
"Please report it to: bzip2-devel@sourceware.org. If this happened\n"
|
||||||
"when you were using some program which uses libbzip2 as a\n"
|
"when you were using some program which uses libbzip2 as a\n"
|
||||||
"component, you should also report this bug to the author(s)\n"
|
"component, you should also report this bug to the author(s)\n"
|
||||||
"of that program. Please make an effort to report this bug;\n"
|
"of that program. Please make an effort to report this bug;\n"
|
||||||
"timely and accurate bug reports eventually lead to higher\n"
|
"timely and accurate bug reports eventually lead to higher\n"
|
||||||
"quality software. Thanks. Julian Seward, 10 December 2007.\n\n",
|
"quality software. Thanks.\n\n",
|
||||||
errcode,
|
errcode,
|
||||||
BZ2_bzlibVersion()
|
BZ2_bzlibVersion()
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
/*-- General stuff. --*/
|
/*-- General stuff. --*/
|
||||||
|
|
||||||
#define BZ_VERSION "1.0.5, 10-Dec-2007"
|
#define BZ_VERSION "1.0.8, 13-Jul-2019"
|
||||||
|
|
||||||
typedef char Char;
|
typedef char Char;
|
||||||
typedef unsigned char Bool;
|
typedef unsigned char Bool;
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -454,7 +454,7 @@ void sendMTFValues ( EState* s )
|
|||||||
|
|
||||||
AssertH( nGroups < 8, 3002 );
|
AssertH( nGroups < 8, 3002 );
|
||||||
AssertH( nSelectors < 32768 &&
|
AssertH( nSelectors < 32768 &&
|
||||||
nSelectors <= (2 + (900000 / BZ_G_SIZE)),
|
nSelectors <= BZ_MAX_SELECTORS,
|
||||||
3003 );
|
3003 );
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
@@ -285,7 +285,7 @@ Int32 BZ2_decompress ( DState* s )
|
|||||||
|
|
||||||
/*--- Now the selectors ---*/
|
/*--- Now the selectors ---*/
|
||||||
GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
|
GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
|
||||||
if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
|
if (nGroups < 2 || nGroups > BZ_N_GROUPS) RETURN(BZ_DATA_ERROR);
|
||||||
GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
|
GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
|
||||||
if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
|
if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
|
||||||
for (i = 0; i < nSelectors; i++) {
|
for (i = 0; i < nSelectors; i++) {
|
||||||
@@ -296,8 +296,14 @@ Int32 BZ2_decompress ( DState* s )
|
|||||||
j++;
|
j++;
|
||||||
if (j >= nGroups) RETURN(BZ_DATA_ERROR);
|
if (j >= nGroups) RETURN(BZ_DATA_ERROR);
|
||||||
}
|
}
|
||||||
s->selectorMtf[i] = j;
|
/* Having more than BZ_MAX_SELECTORS doesn't make much sense
|
||||||
|
since they will never be used, but some implementations might
|
||||||
|
"round up" the number of selectors, so just ignore those. */
|
||||||
|
if (i < BZ_MAX_SELECTORS)
|
||||||
|
s->selectorMtf[i] = j;
|
||||||
}
|
}
|
||||||
|
if (nSelectors > BZ_MAX_SELECTORS)
|
||||||
|
nSelectors = BZ_MAX_SELECTORS;
|
||||||
|
|
||||||
/*--- Undo the MTF values for the selectors. ---*/
|
/*--- Undo the MTF values for the selectors. ---*/
|
||||||
{
|
{
|
||||||
@@ -381,6 +387,13 @@ Int32 BZ2_decompress ( DState* s )
|
|||||||
es = -1;
|
es = -1;
|
||||||
N = 1;
|
N = 1;
|
||||||
do {
|
do {
|
||||||
|
/* Check that N doesn't get too big, so that es doesn't
|
||||||
|
go negative. The maximum value that can be
|
||||||
|
RUNA/RUNB encoded is equal to the block size (post
|
||||||
|
the initial RLE), viz, 900k, so bounding N at 2
|
||||||
|
million should guard against overflow without
|
||||||
|
rejecting any legitimate inputs. */
|
||||||
|
if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
|
||||||
if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
|
if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
|
||||||
if (nextSym == BZ_RUNB) es = es + (1+1) * N;
|
if (nextSym == BZ_RUNB) es = es + (1+1) * N;
|
||||||
N = N * 2;
|
N = N * 2;
|
||||||
@@ -485,15 +498,28 @@ Int32 BZ2_decompress ( DState* s )
|
|||||||
RETURN(BZ_DATA_ERROR);
|
RETURN(BZ_DATA_ERROR);
|
||||||
|
|
||||||
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
||||||
|
/* Check: unzftab entries in range. */
|
||||||
|
for (i = 0; i <= 255; i++) {
|
||||||
|
if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
|
||||||
|
RETURN(BZ_DATA_ERROR);
|
||||||
|
}
|
||||||
|
/* Actually generate cftab. */
|
||||||
s->cftab[0] = 0;
|
s->cftab[0] = 0;
|
||||||
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
||||||
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
||||||
|
/* Check: cftab entries in range. */
|
||||||
for (i = 0; i <= 256; i++) {
|
for (i = 0; i <= 256; i++) {
|
||||||
if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
|
if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
|
||||||
/* s->cftab[i] can legitimately be == nblock */
|
/* s->cftab[i] can legitimately be == nblock */
|
||||||
RETURN(BZ_DATA_ERROR);
|
RETURN(BZ_DATA_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Check: cftab entries non-descending. */
|
||||||
|
for (i = 1; i <= 256; i++) {
|
||||||
|
if (s->cftab[i-1] > s->cftab[i]) {
|
||||||
|
RETURN(BZ_DATA_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
s->state_out_len = 0;
|
s->state_out_len = 0;
|
||||||
s->state_out_ch = 0;
|
s->state_out_ch = 0;
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
This file is part of bzip2/libbzip2, a program and library for
|
This file is part of bzip2/libbzip2, a program and library for
|
||||||
lossless, block-sorting data compression.
|
lossless, block-sorting data compression.
|
||||||
|
|
||||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
bzip2/libbzip2 version 1.0.8 of 13 July 2019
|
||||||
Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
|
Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
|
||||||
|
|
||||||
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
||||||
README file.
|
README file.
|
||||||
|
|||||||
Reference in New Issue
Block a user