diff options
Diffstat (limited to 'lib/libz/infcodes.c')
-rw-r--r-- | lib/libz/infcodes.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/libz/infcodes.c b/lib/libz/infcodes.c index d4e5ee9a5543..181aa5389639 100644 --- a/lib/libz/infcodes.c +++ b/lib/libz/infcodes.c @@ -11,6 +11,8 @@ #include "inffast.h" /* simplify the use of the inflate_huft type with some defines */ +#define base more.Base +#define next more.Next #define exop word.what.Exop #define bits word.what.Bits @@ -143,7 +145,7 @@ int r; if ((e & 64) == 0) /* next table */ { c->sub.code.need = e; - c->sub.code.tree = t + t->base; + c->sub.code.tree = t->next; break; } if (e & 32) /* end of block */ @@ -181,7 +183,7 @@ int r; if ((e & 64) == 0) /* next table */ { c->sub.code.need = e; - c->sub.code.tree = t + t->base; + c->sub.code.tree = t->next; break; } c->mode = BADCODE; /* invalid code */ @@ -221,13 +223,6 @@ int r; c->mode = START; break; case WASH: /* o: got eob, possibly more output */ - if (k > 7) /* return unused byte, if any */ - { - Assert(k < 16, "inflate_codes grabbed too many bytes") - k -= 8; - n++; - p--; /* can always return one */ - } FLUSH if (s->read != s->write) LEAVE |