Lines Matching refs:ctx

67     struct deflate *ctx;  in zip_source_deflate()  local
75 if ((ctx=(struct deflate *)malloc(sizeof(*ctx))) == NULL) { in zip_source_deflate()
80 ctx->e[0] = ctx->e[1] = 0; in zip_source_deflate()
81 ctx->eof = 0; in zip_source_deflate()
84 ctx->mem_level = TORRENT_MEM_LEVEL; in zip_source_deflate()
86 ctx->mem_level = MAX_MEM_LEVEL; in zip_source_deflate()
92 ctx)) == NULL) { in zip_source_deflate()
93 deflate_free(ctx); in zip_source_deflate()
103 compress_read(struct zip_source *src, struct deflate *ctx, in compress_read() argument
109 if (ctx->e[0] != 0) in compress_read()
115 ctx->zstr.next_out = (Bytef *)data; in compress_read()
116 ctx->zstr.avail_out = (uInt)len; /* TODO: check for overflow */ in compress_read()
120 ret = deflate(&ctx->zstr, ctx->eof ? Z_FINISH : 0); in compress_read()
127 if (ctx->zstr.avail_out == 0 in compress_read()
128 || (ctx->eof && ctx->zstr.avail_in == 0)) in compress_read()
133 if (ctx->zstr.avail_in == 0) { in compress_read()
134 if (ctx->eof) { in compress_read()
139 if ((n=zip_source_read(src, ctx->buffer, sizeof(ctx->buffer))) < 0) { in compress_read()
140 zip_source_error(src, ctx->e, ctx->e+1); in compress_read()
145 ctx->eof = 1; in compress_read()
146 ctx->size = ctx->zstr.total_in; in compress_read()
150 ctx->zstr.next_in = (Bytef *)ctx->buffer; in compress_read()
151 ctx->zstr.avail_in = (uInt)n; in compress_read()
160 ctx->e[0] = ZIP_ER_ZLIB; in compress_read()
161 ctx->e[1] = ret; in compress_read()
168 if (ctx->zstr.avail_out < len) in compress_read()
169 return (zip_int64_t)(len - ctx->zstr.avail_out); in compress_read()
171 return (ctx->e[0] == 0) ? 0 : -1; in compress_read()
177 decompress_read(struct zip_source *src, struct deflate *ctx, in decompress_read() argument
183 if (ctx->e[0] != 0) in decompress_read()
189 ctx->zstr.next_out = (Bytef *)data; in decompress_read()
190 ctx->zstr.avail_out = (uInt)len; /* TODO: check for overflow */ in decompress_read()
193 while (!end && ctx->zstr.avail_out) { in decompress_read()
194 ret = inflate(&ctx->zstr, Z_SYNC_FLUSH); in decompress_read()
201 ctx->eof = 1; in decompress_read()
206 if (ctx->zstr.avail_in == 0) { in decompress_read()
207 if (ctx->eof) { in decompress_read()
212 if ((n=zip_source_read(src, ctx->buffer, sizeof(ctx->buffer))) < 0) { in decompress_read()
213 zip_source_error(src, ctx->e, ctx->e+1); in decompress_read()
218 ctx->eof = 1; in decompress_read()
220 ctx->zstr.next_in = (Bytef *)ctx->buffer; in decompress_read()
221 ctx->zstr.avail_in = (uInt)n; in decompress_read()
230 ctx->e[0] = ZIP_ER_ZLIB; in decompress_read()
231 ctx->e[1] = ret; in decompress_read()
237 if (ctx->zstr.avail_out < len) in decompress_read()
238 return (zip_int64_t)(len - ctx->zstr.avail_out); in decompress_read()
240 return (ctx->e[0] == 0) ? 0 : -1; in decompress_read()
249 struct deflate *ctx; in deflate_compress() local
252 ctx = (struct deflate *)ud; in deflate_compress()
256 ctx->zstr.zalloc = Z_NULL; in deflate_compress()
257 ctx->zstr.zfree = Z_NULL; in deflate_compress()
258 ctx->zstr.opaque = NULL; in deflate_compress()
259 ctx->zstr.avail_in = 0; in deflate_compress()
260 ctx->zstr.next_in = NULL; in deflate_compress()
261 ctx->zstr.avail_out = 0; in deflate_compress()
262 ctx->zstr.next_out = NULL; in deflate_compress()
265 if ((ret=deflateInit2(&ctx->zstr, Z_BEST_COMPRESSION, Z_DEFLATED, in deflate_compress()
266 -MAX_WBITS, ctx->mem_level, in deflate_compress()
268 ctx->e[0] = ZIP_ER_ZLIB; in deflate_compress()
269 ctx->e[1] = ret; in deflate_compress()
276 return compress_read(src, ctx, data, len); in deflate_compress()
279 deflateEnd(&ctx->zstr); in deflate_compress()
290 if (ctx->eof) { in deflate_compress()
291 st->comp_size = ctx->size; in deflate_compress()
300 memcpy(data, ctx->e, sizeof(int)*2); in deflate_compress()
304 deflate_free(ctx); in deflate_compress()
308 ctx->e[0] = ZIP_ER_INVAL; in deflate_compress()
309 ctx->e[1] = 0; in deflate_compress()
320 struct deflate *ctx; in deflate_decompress() local
324 ctx = (struct deflate *)ud; in deflate_decompress()
328 if ((n=zip_source_read(src, ctx->buffer, sizeof(ctx->buffer))) < 0) in deflate_decompress()
331 ctx->zstr.zalloc = Z_NULL; in deflate_decompress()
332 ctx->zstr.zfree = Z_NULL; in deflate_decompress()
333 ctx->zstr.opaque = NULL; in deflate_decompress()
334 ctx->zstr.next_in = (Bytef *)ctx->buffer; in deflate_decompress()
335 ctx->zstr.avail_in = (uInt)n /* TODO: check for overflow */; in deflate_decompress()
338 if ((ret=inflateInit2(&ctx->zstr, -MAX_WBITS)) != Z_OK) { in deflate_decompress()
339 ctx->e[0] = ZIP_ER_ZLIB; in deflate_decompress()
340 ctx->e[1] = ret; in deflate_decompress()
347 return decompress_read(src, ctx, data, len); in deflate_decompress()
350 inflateEnd(&ctx->zstr); in deflate_decompress()
369 memcpy(data, ctx->e, sizeof(int)*2); in deflate_decompress()
374 free(ctx); in deflate_decompress()
378 ctx->e[0] = ZIP_ER_INVAL; in deflate_decompress()
379 ctx->e[1] = 0; in deflate_decompress()
388 deflate_free(struct deflate *ctx) in deflate_free() argument
391 free(ctx); in deflate_free()