summaryrefslogtreecommitdiff
path: root/inffast.c
diff options
context:
space:
mode:
Diffstat (limited to 'inffast.c')
-rw-r--r--inffast.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/inffast.c b/inffast.c
index 27c29d9..2953e09 100644
--- a/inffast.c
+++ b/inffast.c
@@ -171,15 +171,13 @@ void ZLIB_INTERNAL zng_inflate_fast(PREFIX3(stream) *strm, unsigned long start)
} else if (op & 16) { /* length base */
len = here->val;
op &= 15; /* number of extra bits */
- if (op) {
- if (bits < op) {
- hold |= load_64_bits(in, bits);
- in += 6;
- bits += 48;
- }
- len += BITS(op);
- DROPBITS(op);
+ if (bits < op) {
+ hold |= load_64_bits(in, bits);
+ in += 6;
+ bits += 48;
}
+ len += BITS(op);
+ DROPBITS(op);
Tracevv((stderr, "inflate: length %u\n", len));
if (bits < 15) {
hold |= load_64_bits(in, bits);