Lines Matching refs:state

22 local int gz_init(gz_statep state) {  in gz_init()  argument
24 z_streamp strm = &(state.state->strm); in gz_init()
27 state.state->in = (unsigned char*)malloc(state.state->want << 1); in gz_init()
28 if (state.state->in == NULL) { in gz_init()
29 gz_error(state, Z_MEM_ERROR, "out of memory"); in gz_init()
34 if (!state.state->direct) { in gz_init()
36 state.state->out = (unsigned char*)malloc(state.state->want); in gz_init()
37 if (state.state->out == NULL) { in gz_init()
38 free(state.state->in); in gz_init()
39 gz_error(state, Z_MEM_ERROR, "out of memory"); in gz_init()
47 ret = deflateInit2(strm, state.state->level, Z_DEFLATED, in gz_init()
48 MAX_WBITS + 16, DEF_MEM_LEVEL, state.state->strategy); in gz_init()
50 free(state.state->out); in gz_init()
51 free(state.state->in); in gz_init()
52 gz_error(state, Z_MEM_ERROR, "out of memory"); in gz_init()
59 state.state->size = state.state->want; in gz_init()
62 if (!state.state->direct) { in gz_init()
63 strm->avail_out = state.state->size; in gz_init()
64 strm->next_out = state.state->out; in gz_init()
65 state.state->x.next = strm->next_out; in gz_init()
76 local int gz_comp(gz_statep state, int flush) { in gz_comp() argument
79 z_streamp strm = &(state.state->strm); in gz_comp()
82 if (state.state->size == 0 && gz_init(state) == -1) in gz_comp()
86 if (state.state->direct) { in gz_comp()
89 writ = (int)write(state.state->fd, strm->next_in, put); in gz_comp()
91 gz_error(state, Z_ERRNO, zstrerror()); in gz_comp()
107 while (strm->next_out > state.state->x.next) { in gz_comp()
108 put = strm->next_out - state.state->x.next > (int)max ? max : in gz_comp()
109 (unsigned)(strm->next_out - state.state->x.next); in gz_comp()
110 writ = (int)write(state.state->fd, state.state->x.next, put); in gz_comp()
112 gz_error(state, Z_ERRNO, zstrerror()); in gz_comp()
115 state.state->x.next += writ; in gz_comp()
118 strm->avail_out = state.state->size; in gz_comp()
119 strm->next_out = state.state->out; in gz_comp()
120 state.state->x.next = state.state->out; in gz_comp()
128 gz_error(state, Z_STREAM_ERROR, in gz_comp()
145 local int gz_zero(gz_statep state, z_off64_t len) { in gz_zero() argument
148 z_streamp strm = &(state.state->strm); in gz_zero()
151 if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) in gz_zero()
157 n = GT_OFF(state.state->size) || (z_off64_t)state.state->size > len ? in gz_zero()
158 (unsigned)len : state.state->size; in gz_zero()
160 memset(state.state->in, 0, n); in gz_zero()
164 strm->next_in = state.state->in; in gz_zero()
165 state.state->x.pos += n; in gz_zero()
166 if (gz_comp(state, Z_NO_FLUSH) == -1) in gz_zero()
175 local z_size_t gz_write(gz_statep state, voidpc buf, z_size_t len) { in gz_write() argument
183 if (state.state->size == 0 && gz_init(state) == -1) in gz_write()
187 if (state.state->seek) { in gz_write()
188 state.state->seek = 0; in gz_write()
189 if (gz_zero(state, state.state->skip) == -1) in gz_write()
194 if (len < state.state->size) { in gz_write()
199 if (state.state->strm.avail_in == 0) in gz_write()
200 state.state->strm.next_in = state.state->in; in gz_write()
201 have = (unsigned)((state.state->strm.next_in + state.state->strm.avail_in) - in gz_write()
202 state.state->in); in gz_write()
203 copy = state.state->size - have; in gz_write()
206 memcpy(state.state->in + have, buf, copy); in gz_write()
207 state.state->strm.avail_in += copy; in gz_write()
208 state.state->x.pos += copy; in gz_write()
211 if (len && gz_comp(state, Z_NO_FLUSH) == -1) in gz_write()
217 if (state.state->strm.avail_in && gz_comp(state, Z_NO_FLUSH) == -1) in gz_write()
221 state.state->strm.next_in = (z_const Bytef *)buf; in gz_write()
226 state.state->strm.avail_in = (z_uInt)n; in gz_write()
227 state.state->x.pos += n; in gz_write()
228 if (gz_comp(state, Z_NO_FLUSH) == -1) in gz_write()
240 gz_statep state; in gzwrite() local
245 state.file = file; in gzwrite()
248 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzwrite()
254 gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); in gzwrite()
259 return (int)gz_write(state, buf, len); in gzwrite()
266 gz_statep state; in gzfwrite() local
272 state.file = file; in gzfwrite()
275 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzfwrite()
281 gz_error(state, Z_STREAM_ERROR, "request does not fit in a size_t"); in gzfwrite()
286 return len ? gz_write(state, buf, len) / size : 0; in gzfwrite()
293 gz_statep state; in gzputc() local
299 state.file = file; in gzputc()
300 strm = &(state.state->strm); in gzputc()
303 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzputc()
307 if (state.state->seek) { in gzputc()
308 state.state->seek = 0; in gzputc()
309 if (gz_zero(state, state.state->skip) == -1) in gzputc()
315 if (state.state->size) { in gzputc()
317 strm->next_in = state.state->in; in gzputc()
318 have = (unsigned)((strm->next_in + strm->avail_in) - state.state->in); in gzputc()
319 if (have < state.state->size) { in gzputc()
320 state.state->in[have] = (unsigned char)c; in gzputc()
322 state.state->x.pos++; in gzputc()
329 if (gz_write(state, buf, 1) != 1) in gzputc()
338 gz_statep state; in gzputs() local
343 state.file = file; in gzputs()
346 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzputs()
351 ret = (int)gz_write(state, str, len); in gzputs()
363 gz_statep state; in gzvprintf() local
369 state.file = file; in gzvprintf()
370 strm = &(state.state->strm); in gzvprintf()
373 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzvprintf()
377 if (state.state->size == 0 && gz_init(state) == -1) in gzvprintf()
378 return state.state->err; in gzvprintf()
381 if (state.state->seek) { in gzvprintf()
382 state.state->seek = 0; in gzvprintf()
383 if (gz_zero(state, state.state->skip) == -1) in gzvprintf()
384 return state.state->err; in gzvprintf()
391 strm->next_in = state.state->in; in gzvprintf()
392 next = (char *)(state.state->in + (strm->next_in - state.state->in) + strm->avail_in); in gzvprintf()
393 next[state.state->size - 1] = 0; in gzvprintf()
397 for (len = 0; len < state.state->size; len++) in gzvprintf()
404 (void)vsnprintf(next, state.state->size, format, va); in gzvprintf()
407 len = vsnprintf(next, state.state->size, format, va); in gzvprintf()
412 if (len == 0 || (unsigned)len >= state.state->size || next[state.state->size - 1] != 0) in gzvprintf()
417 state.state->x.pos += len; in gzvprintf()
418 if (strm->avail_in >= state.state->size) { in gzvprintf()
419 left = strm->avail_in - state.state->size; in gzvprintf()
420 strm->avail_in = state.state->size; in gzvprintf()
421 if (gz_comp(state, Z_NO_FLUSH) == -1) in gzvprintf()
422 return state.state->err; in gzvprintf()
423 memcpy(state.state->in, state.state->in + state.state->size, left); in gzvprintf()
424 strm->next_in = state.state->in; in gzvprintf()
449 gz_statep state; in gzprintf() local
455 state = (gz_statep)file; in gzprintf()
456 strm = &(state.state->strm); in gzprintf()
463 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzprintf()
467 if (state.state->size == 0 && gz_init(state) == -1) in gzprintf()
468 return state.state->error; in gzprintf()
471 if (state.state->seek) { in gzprintf()
472 state.state->seek = 0; in gzprintf()
473 if (gz_zero(state, state.state->skip) == -1) in gzprintf()
474 return state.state->error; in gzprintf()
481 strm->next_in = state.state->in; in gzprintf()
483 next[state.state->size - 1] = 0; in gzprintf()
497 snprintf(next, state.state->size, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, in gzprintf()
501 len = snprintf(next, state.state->size, format, a1, a2, a3, a4, a5, a6, a7, a8, in gzprintf()
507 if (len == 0 || len >= state.state->size || next[state.state->size - 1] != 0) in gzprintf()
512 state.state->x.pos += len; in gzprintf()
513 if (strm->avail_in >= state.state->size) { in gzprintf()
514 left = strm->avail_in - state.state->size; in gzprintf()
515 strm->avail_in = state.state->size; in gzprintf()
516 if (gz_comp(state, Z_NO_FLUSH) == -1) in gzprintf()
517 return state.state->err; in gzprintf()
518 memcpy(state.state->in, state.state->in + state.state->size, left); in gzprintf()
519 strm->next_in = state.state->in; in gzprintf()
529 gz_statep state; in gzflush() local
534 state.file = file; in gzflush()
537 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzflush()
545 if (state.state->seek) { in gzflush()
546 state.state->seek = 0; in gzflush()
547 if (gz_zero(state, state.state->skip) == -1) in gzflush()
548 return state.state->err; in gzflush()
552 (void)gz_comp(state, flush); in gzflush()
553 return state.state->err; in gzflush()
558 gz_statep state; in gzsetparams() local
564 state.file = file; in gzsetparams()
565 strm = &(state.state->strm); in gzsetparams()
568 if (state.state->mode != GZ_WRITE || state.state->err != Z_OK) in gzsetparams()
572 if (level == state.state->level && strategy == state.state->strategy) in gzsetparams()
576 if (state.state->seek) { in gzsetparams()
577 state.state->seek = 0; in gzsetparams()
578 if (gz_zero(state, state.state->skip) == -1) in gzsetparams()
579 return state.state->err; in gzsetparams()
583 if (state.state->size) { in gzsetparams()
585 if (strm->avail_in && gz_comp(state, Z_BLOCK) == -1) in gzsetparams()
586 return state.state->err; in gzsetparams()
589 state.state->level = level; in gzsetparams()
590 state.state->strategy = strategy; in gzsetparams()
597 gz_statep state; in gzclose_w() local
602 state.file = file; in gzclose_w()
605 if (state.state->mode != GZ_WRITE) in gzclose_w()
609 if (state.state->seek) { in gzclose_w()
610 state.state->seek = 0; in gzclose_w()
611 if (gz_zero(state, state.state->skip) == -1) in gzclose_w()
612 ret = state.state->err; in gzclose_w()
616 if (gz_comp(state, Z_FINISH) == -1) in gzclose_w()
617 ret = state.state->err; in gzclose_w()
618 if (state.state->size) { in gzclose_w()
619 if (!state.state->direct) { in gzclose_w()
620 (void)deflateEnd(&(state.state->strm)); in gzclose_w()
621 free(state.state->out); in gzclose_w()
623 free(state.state->in); in gzclose_w()
625 gz_error(state, Z_OK, NULL); in gzclose_w()
626 free(state.state->path); in gzclose_w()
627 if (close(state.state->fd) == -1) in gzclose_w()
629 free(state.state); in gzclose_w()