MCPcopy Create free account
hub / github.com/F-Stack/f-stack / gzread

Function gzread

freebsd/contrib/zlib/test/minigzip.c:260–293  ·  view source on GitHub ↗
(gz, buf, len)

Source from the content-addressed store, hash-verified

258int gzread OF((gzFile, void *, unsigned));
259
260int gzread(gz, buf, len)
261 gzFile gz;
262 void *buf;
263 unsigned len;
264{
265 int ret;
266 unsigned got;
267 unsigned char in[1];
268 z_stream *strm;
269
270 if (gz == NULL || gz->write)
271 return 0;
272 if (gz->err)
273 return 0;
274 strm = &(gz->strm);
275 strm->next_out = (void *)buf;
276 strm->avail_out = len;
277 do {
278 got = fread(in, 1, 1, gz->file);
279 if (got == 0)
280 break;
281 strm->next_in = in;
282 strm->avail_in = 1;
283 ret = inflate(strm, Z_NO_FLUSH);
284 if (ret == Z_DATA_ERROR) {
285 gz->err = Z_DATA_ERROR;
286 gz->msg = strm->msg;
287 return 0;
288 }
289 if (ret == Z_STREAM_END)
290 inflateReset(strm);
291 } while (strm->avail_out);
292 return len - strm->avail_out;
293}
294
295int gzclose OF((gzFile));
296

Callers 2

gz_uncompressFunction · 0.70
test_gzioFunction · 0.70

Calls 1

inflateResetFunction · 0.85

Tested by

no test coverage detected