From 84e3786e05bb8cda52548b8d98efe87f2a1b64ac Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Tue, 21 Jul 2009 13:49:35 +0300 Subject: db: fixes to package checksumming while installing it --- src/gunzip.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/gunzip.c') diff --git a/src/gunzip.c b/src/gunzip.c index 2b30d46..3f9a253 100644 --- a/src/gunzip.c +++ b/src/gunzip.c @@ -62,9 +62,16 @@ static size_t gzi_read(void *stream, void *ptr, size_t size) gis->z_err = Z_DATA_ERROR; return size - gis->zs.avail_out; } else if (gis->zs.avail_in == 0) { - if (gis->cb != NULL) - gis->cb(gis->cbctx, APK_MPART_END, - APK_BLOB_NULL); + if (gis->cb != NULL) { + r = gis->cb(gis->cbctx, APK_MPART_END, + APK_BLOB_NULL); + if (r != 0) { + gis->z_err = Z_STREAM_END; + if (r > 0) + r = -1; + return r; + } + } gis->z_err = Z_STREAM_END; return size - gis->zs.avail_out; } -- cgit v1.2.3-60-g2f50