mirror of
https://github.com/vivier/EMILE.git
synced 2025-08-14 01:25:25 +00:00
backport fix from gzip 1.3.5
This commit is contained in:
@@ -368,6 +368,7 @@ DEBG("huft5 ");
|
|||||||
if ((j = *p++) != 0)
|
if ((j = *p++) != 0)
|
||||||
v[x[j]++] = i;
|
v[x[j]++] = i;
|
||||||
} while (++i < n);
|
} while (++i < n);
|
||||||
|
n = x[g]; /* set n to length of v */
|
||||||
|
|
||||||
DEBG("h6 ");
|
DEBG("h6 ");
|
||||||
|
|
||||||
@@ -404,12 +405,13 @@ DEBG1("1 ");
|
|||||||
DEBG1("2 ");
|
DEBG1("2 ");
|
||||||
f -= a + 1; /* deduct codes from patterns left */
|
f -= a + 1; /* deduct codes from patterns left */
|
||||||
xp = c + k;
|
xp = c + k;
|
||||||
while (++j < z) /* try smaller tables up to z bits */
|
if (j < z)
|
||||||
{
|
while (++j < z) /* try smaller tables up to z bits */
|
||||||
if ((f <<= 1) <= *++xp)
|
{
|
||||||
break; /* enough codes to use up j bits */
|
if ((f <<= 1) <= *++xp)
|
||||||
f -= *xp; /* else deduct codes from patterns */
|
break; /* enough codes to use up j bits */
|
||||||
}
|
f -= *xp; /* else deduct codes from patterns */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
DEBG1("3 ");
|
DEBG1("3 ");
|
||||||
z = 1 << j; /* table entries for j-bit table */
|
z = 1 << j; /* table entries for j-bit table */
|
||||||
@@ -799,6 +801,8 @@ DEBG("dyn2 ");
|
|||||||
return i; /* incomplete code set */
|
return i; /* incomplete code set */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tl == NULL) /* Grrrhhh */
|
||||||
|
return 2;
|
||||||
DEBG("dyn3 ");
|
DEBG("dyn3 ");
|
||||||
|
|
||||||
/* read in literal and distance code lengths */
|
/* read in literal and distance code lengths */
|
||||||
|
Reference in New Issue
Block a user