woohoo big savings, bzip2 is now 36.0k for me at least
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1221 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
3a4a61daf1
commit
646eb72d38
1 changed files with 20 additions and 15 deletions
|
@ -112,22 +112,27 @@ static int __mygetbits(int *vtmp, int nnn, DState* s)
|
||||||
#define GET_BIT(lll,uuu) \
|
#define GET_BIT(lll,uuu) \
|
||||||
GET_BITS(lll,uuu,1)
|
GET_BITS(lll,uuu,1)
|
||||||
|
|
||||||
|
static int getmtf1(DState_save *sv,DState* s)
|
||||||
|
{
|
||||||
|
if (sv->groupPos == 0) {
|
||||||
|
sv->groupNo++;
|
||||||
|
if (sv->groupNo >= sv->nSelectors) return 1;
|
||||||
|
sv->groupPos = BZ_G_SIZE;
|
||||||
|
sv->gSel = s->selector[sv->groupNo];
|
||||||
|
sv->gMinlen = s->minLens[sv->gSel];
|
||||||
|
sv->gLimit = &(s->limit[sv->gSel][0]);
|
||||||
|
sv->gPerm = &(s->perm[sv->gSel][0]);
|
||||||
|
sv->gBase = &(s->base[sv->gSel][0]);
|
||||||
|
}
|
||||||
|
sv->groupPos--;
|
||||||
|
sv->zn = sv->gMinlen;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------*/
|
/*---------------------------------------------------*/
|
||||||
#define GET_MTF_VAL(label1,label2,lval) \
|
#define GET_MTF_VAL(label1,label2,lval) \
|
||||||
{ \
|
{ \
|
||||||
if (groupPos == 0) { \
|
if (getmtf1(&sv,s)) RETURN(BZ_DATA_ERROR); \
|
||||||
groupNo++; \
|
|
||||||
if (groupNo >= nSelectors) \
|
|
||||||
RETURN(BZ_DATA_ERROR); \
|
|
||||||
groupPos = BZ_G_SIZE; \
|
|
||||||
gSel = s->selector[groupNo]; \
|
|
||||||
gMinlen = s->minLens[gSel]; \
|
|
||||||
gLimit = &(s->limit[gSel][0]); \
|
|
||||||
gPerm = &(s->perm[gSel][0]); \
|
|
||||||
gBase = &(s->base[gSel][0]); \
|
|
||||||
} \
|
|
||||||
groupPos--; \
|
|
||||||
zn = gMinlen; \
|
|
||||||
GET_BITS(label1, zvec, zn); \
|
GET_BITS(label1, zvec, zn); \
|
||||||
for (;;) { \
|
for (;;) { \
|
||||||
if (zn > 20 /* the longest code */) RETURN(BZ_DATA_ERROR); \
|
if (zn > 20 /* the longest code */) RETURN(BZ_DATA_ERROR); \
|
||||||
|
@ -155,7 +160,7 @@ Int32 BZ2_decompress ( DState* s )
|
||||||
DState_save sv;
|
DState_save sv;
|
||||||
|
|
||||||
/*restore from the save area*/
|
/*restore from the save area*/
|
||||||
mini_memcpy(&sv, &(s->save), sizeof(sv));
|
sv=s->save;//mini_memcpy(&sv, &(s->save), sizeof(sv));
|
||||||
|
|
||||||
#define i (sv.i)
|
#define i (sv.i)
|
||||||
#define j (sv.j)
|
#define j (sv.j)
|
||||||
|
@ -508,7 +513,7 @@ Int32 BZ2_decompress ( DState* s )
|
||||||
|
|
||||||
save_state_and_return:
|
save_state_and_return:
|
||||||
|
|
||||||
mini_memcpy(&(s->save), &sv, sizeof(sv));
|
s->save=sv; //mini_memcpy(&(s->save), &sv, sizeof(sv));
|
||||||
|
|
||||||
#undef i
|
#undef i
|
||||||
#undef j
|
#undef j
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue