From 913afb9174bb474104049906c1382dec81826424 Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Fri, 9 Sep 2011 22:52:17 -0700 Subject: zlib 0.79 --- infutil.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'infutil.c') diff --git a/infutil.c b/infutil.c index 92d115f..1adadbf 100644 --- a/infutil.c +++ b/infutil.c @@ -40,7 +40,8 @@ int r; z->total_out += n; /* update check information */ - s->check = adler32(s->check, q, n); + if (s->checkfn != Z_NULL) + s->check = (*s->checkfn)(s->check, q, n); /* copy as far as end of window */ while (n--) *p++ = *q++; @@ -48,8 +49,10 @@ int r; /* see if more to copy at beginning of window */ if (q == s->end) { - /* wrap source pointer */ + /* wrap pointers */ q = s->window; + if (s->write == s->end) + s->write = s->window; /* compute bytes to copy */ n = s->write - q; @@ -61,7 +64,8 @@ int r; z->total_out += n; /* update check information */ - s->check = adler32(s->check, q, n); + if (s->checkfn != Z_NULL) + s->check = (*s->checkfn)(s->check, q, n); /* copy */ while (n--) *p++ = *q++; -- cgit v1.2.3-55-g6feb