mirror of https://github.com/YosysHQ/abc.git
Merge pull request #512 from maliberty/update-bzip2
Update bzip2 from version 1.0.5 to 1.0.8
This commit is contained in:
commit
f1ec6d32d8
|
|
@ -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.
|
||||||
|
|
@ -204,9 +204,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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
@ -54,12 +54,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.
|
||||||
|
|
@ -38,7 +38,7 @@ ABC_NAMESPACE_HEADER_START
|
||||||
|
|
||||||
/*-- 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;
|
||||||
|
|
@ -483,7 +483,7 @@ typedef
|
||||||
|
|
||||||
/*-- externs for decompression. --*/
|
/*-- externs for decompression. --*/
|
||||||
|
|
||||||
Int32
|
extern Int32
|
||||||
BZ2_indexIntoF ( Int32, Int32* );
|
BZ2_indexIntoF ( Int32, Int32* );
|
||||||
|
|
||||||
extern Int32
|
extern Int32
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
@ -457,7 +457,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.
|
||||||
|
|
@ -292,7 +292,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++) {
|
||||||
|
|
@ -303,8 +303,14 @@ Int32 BZ2_decompress ( DState* s )
|
||||||
j++;
|
j++;
|
||||||
if (j >= nGroups) RETURN(BZ_DATA_ERROR);
|
if (j >= nGroups) RETURN(BZ_DATA_ERROR);
|
||||||
}
|
}
|
||||||
|
/* 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;
|
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. ---*/
|
||||||
{
|
{
|
||||||
|
|
@ -388,6 +394,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;
|
||||||
|
|
@ -492,15 +505,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.
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue