summaryrefslogtreecommitdiff
path: root/infblock.c
diff options
context:
space:
mode:
Diffstat (limited to 'infblock.c')
-rw-r--r--infblock.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/infblock.c b/infblock.c
index a300c28..4d81d72 100644
--- a/infblock.c
+++ b/infblock.c
@@ -66,7 +66,7 @@ inflate_blocks_statef *s;
66z_streamp z; 66z_streamp z;
67uLongf *c; 67uLongf *c;
68{ 68{
69 if (s->checkfn != Z_NULL) 69 if (c != Z_NULL)
70 *c = s->check; 70 *c = s->check;
71 if (s->mode == BTREE || s->mode == DTREE) 71 if (s->mode == BTREE || s->mode == DTREE)
72 ZFREE(z, s->sub.trees.blens); 72 ZFREE(z, s->sub.trees.blens);
@@ -81,7 +81,7 @@ uLongf *c;
81 s->bitb = 0; 81 s->bitb = 0;
82 s->read = s->write = s->window; 82 s->read = s->write = s->window;
83 if (s->checkfn != Z_NULL) 83 if (s->checkfn != Z_NULL)
84 z->adler = s->check = (*s->checkfn)(0L, Z_NULL, 0); 84 z->adler = s->check = (*s->checkfn)(0L, (const Bytef *)Z_NULL, 0);
85 Trace((stderr, "inflate: blocks reset\n")); 85 Trace((stderr, "inflate: blocks reset\n"));
86} 86}
87 87
@@ -105,7 +105,7 @@ uInt w;
105 s->checkfn = c; 105 s->checkfn = c;
106 s->mode = TYPE; 106 s->mode = TYPE;
107 Trace((stderr, "inflate: blocks allocated\n")); 107 Trace((stderr, "inflate: blocks allocated\n"));
108 inflate_blocks_reset(s, z, &s->check); 108 inflate_blocks_reset(s, z, Z_NULL);
109 return s; 109 return s;
110} 110}
111 111
@@ -380,12 +380,11 @@ int r;
380} 380}
381 381
382 382
383int inflate_blocks_free(s, z, c) 383int inflate_blocks_free(s, z)
384inflate_blocks_statef *s; 384inflate_blocks_statef *s;
385z_streamp z; 385z_streamp z;
386uLongf *c;
387{ 386{
388 inflate_blocks_reset(s, z, c); 387 inflate_blocks_reset(s, z, Z_NULL);
389 ZFREE(z, s->window); 388 ZFREE(z, s->window);
390 ZFREE(z, s); 389 ZFREE(z, s);
391 Trace((stderr, "inflate: blocks freed\n")); 390 Trace((stderr, "inflate: blocks freed\n"));
@@ -401,3 +400,14 @@ uInt n;
401 zmemcpy((charf *)s->window, d, n); 400 zmemcpy((charf *)s->window, d, n);
402 s->read = s->write = s->window + n; 401 s->read = s->write = s->window + n;
403} 402}
403
404
405/* Returns true if inflate is currently at the end of a block generated
406 * by Z_SYNC_FLUSH or Z_FULL_FLUSH.
407 * IN assertion: s != Z_NULL
408 */
409int inflate_blocks_sync_point(s)
410inflate_blocks_statef *s;
411{
412 return s->mode == LENS;
413}