Lines Matching refs:state
71 local void gz_reset(gz_statep state) { in gz_reset() argument
72 state->x.have = 0; /* no output data available */ in gz_reset()
73 if (state->mode == GZ_READ) { /* for reading ... */ in gz_reset()
74 state->eof = 0; /* not at end of file */ in gz_reset()
75 state->past = 0; /* have not read past end yet */ in gz_reset()
76 state->how = LOOK; /* look for gzip header */ in gz_reset()
79 state->reset = 0; /* no deflateReset pending */ in gz_reset()
80 state->seek = 0; /* no seek request pending */ in gz_reset()
81 gz_error(state, Z_OK, NULL); /* clear error */ in gz_reset()
82 state->x.pos = 0; /* no uncompressed data yet */ in gz_reset()
83 state->strm.avail_in = 0; /* no input data yet */ in gz_reset()
88 gz_statep state; in gz_open() local
103 state = (gz_statep)malloc(sizeof(gz_state)); in gz_open()
104 if (state == NULL) in gz_open()
106 state->size = 0; /* no buffers allocated yet */ in gz_open()
107 state->want = GZBUFSIZE; /* requested buffer size */ in gz_open()
108 state->msg = NULL; /* no error message yet */ in gz_open()
111 state->mode = GZ_NONE; in gz_open()
112 state->level = Z_DEFAULT_COMPRESSION; in gz_open()
113 state->strategy = Z_DEFAULT_STRATEGY; in gz_open()
114 state->direct = 0; in gz_open()
117 state->level = *mode - '0'; in gz_open()
121 state->mode = GZ_READ; in gz_open()
125 state->mode = GZ_WRITE; in gz_open()
128 state->mode = GZ_APPEND; in gz_open()
132 free(state); in gz_open()
147 state->strategy = Z_FILTERED; in gz_open()
150 state->strategy = Z_HUFFMAN_ONLY; in gz_open()
153 state->strategy = Z_RLE; in gz_open()
156 state->strategy = Z_FIXED; in gz_open()
159 state->direct = 1; in gz_open()
168 if (state->mode == GZ_NONE) { in gz_open()
169 free(state); in gz_open()
174 if (state->mode == GZ_READ) { in gz_open()
175 if (state->direct) { in gz_open()
176 free(state); in gz_open()
179 state->direct = 1; /* for empty file */ in gz_open()
192 state->path = (char *)malloc(len + 1); in gz_open()
193 if (state->path == NULL) { in gz_open()
194 free(state); in gz_open()
200 wcstombs(state->path, path, len + 1); in gz_open()
202 *(state->path) = 0; in gz_open()
206 (void)snprintf(state->path, len + 1, "%s", (const char *)path); in gz_open()
208 strcpy(state->path, path); in gz_open()
222 (state->mode == GZ_READ ? in gz_open()
228 (state->mode == GZ_WRITE ? in gz_open()
233 state->fd = fd > -1 ? fd : ( in gz_open()
238 if (state->fd == -1) { in gz_open()
239 free(state->path); in gz_open()
240 free(state); in gz_open()
243 if (state->mode == GZ_APPEND) { in gz_open()
244 LSEEK(state->fd, 0, SEEK_END); /* so gzoffset() is correct */ in gz_open()
245 state->mode = GZ_WRITE; /* simplify later checks */ in gz_open()
249 if (state->mode == GZ_READ) { in gz_open()
250 state->start = LSEEK(state->fd, 0, SEEK_CUR); in gz_open()
251 if (state->start == -1) state->start = 0; in gz_open()
255 gz_reset(state); in gz_open()
258 return (gzFile)state; in gz_open()
297 gz_statep state; in gzbuffer() local
302 state = (gz_statep)file; in gzbuffer()
303 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gzbuffer()
307 if (state->size != 0) in gzbuffer()
315 state->want = size; in gzbuffer()
321 gz_statep state; in gzrewind() local
326 state = (gz_statep)file; in gzrewind()
329 if (state->mode != GZ_READ || in gzrewind()
330 (state->err != Z_OK && state->err != Z_BUF_ERROR)) in gzrewind()
334 if (LSEEK(state->fd, state->start, SEEK_SET) == -1) in gzrewind()
336 gz_reset(state); in gzrewind()
344 gz_statep state; in gzseek64() local
349 state = (gz_statep)file; in gzseek64()
350 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gzseek64()
354 if (state->err != Z_OK && state->err != Z_BUF_ERROR) in gzseek64()
363 offset -= state->x.pos; in gzseek64()
364 else if (state->seek) in gzseek64()
365 offset += state->skip; in gzseek64()
366 state->seek = 0; in gzseek64()
369 if (state->mode == GZ_READ && state->how == COPY && in gzseek64()
370 state->x.pos + offset >= 0) { in gzseek64()
371 ret = LSEEK(state->fd, offset - (z_off64_t)state->x.have, SEEK_CUR); in gzseek64()
374 state->x.have = 0; in gzseek64()
375 state->eof = 0; in gzseek64()
376 state->past = 0; in gzseek64()
377 state->seek = 0; in gzseek64()
378 gz_error(state, Z_OK, NULL); in gzseek64()
379 state->strm.avail_in = 0; in gzseek64()
380 state->x.pos += offset; in gzseek64()
381 return state->x.pos; in gzseek64()
386 if (state->mode != GZ_READ) /* writing -- can't go backwards */ in gzseek64()
388 offset += state->x.pos; in gzseek64()
396 if (state->mode == GZ_READ) { in gzseek64()
397 n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > offset ? in gzseek64()
398 (unsigned)offset : state->x.have; in gzseek64()
399 state->x.have -= n; in gzseek64()
400 state->x.next += n; in gzseek64()
401 state->x.pos += n; in gzseek64()
407 state->seek = 1; in gzseek64()
408 state->skip = offset; in gzseek64()
410 return state->x.pos + offset; in gzseek64()
423 gz_statep state; in gztell64() local
428 state = (gz_statep)file; in gztell64()
429 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gztell64()
433 return state->x.pos + (state->seek ? state->skip : 0); in gztell64()
447 gz_statep state; in gzoffset64() local
452 state = (gz_statep)file; in gzoffset64()
453 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gzoffset64()
457 offset = LSEEK(state->fd, 0, SEEK_CUR); in gzoffset64()
460 if (state->mode == GZ_READ) /* reading */ in gzoffset64()
461 offset -= state->strm.avail_in; /* don't count buffered input */ in gzoffset64()
475 gz_statep state; in gzeof() local
480 state = (gz_statep)file; in gzeof()
481 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gzeof()
485 return state->mode == GZ_READ ? state->past : 0; in gzeof()
490 gz_statep state; in gzerror() local
495 state = (gz_statep)file; in gzerror()
496 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gzerror()
501 *errnum = state->err; in gzerror()
502 return state->err == Z_MEM_ERROR ? "out of memory" : in gzerror()
503 (state->msg == NULL ? "" : state->msg); in gzerror()
508 gz_statep state; in gzclearerr() local
513 state = (gz_statep)file; in gzclearerr()
514 if (state->mode != GZ_READ && state->mode != GZ_WRITE) in gzclearerr()
518 if (state->mode == GZ_READ) { in gzclearerr()
519 state->eof = 0; in gzclearerr()
520 state->past = 0; in gzclearerr()
522 gz_error(state, Z_OK, NULL); in gzclearerr()
531 void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) { in gz_error() argument
533 if (state->msg != NULL) { in gz_error()
534 if (state->err != Z_MEM_ERROR) in gz_error()
535 free(state->msg); in gz_error()
536 state->msg = NULL; in gz_error()
541 state->x.have = 0; in gz_error()
544 state->err = err; in gz_error()
553 if ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) == in gz_error()
555 state->err = Z_MEM_ERROR; in gz_error()
559 (void)snprintf(state->msg, strlen(state->path) + strlen(msg) + 3, in gz_error()
560 "%s%s%s", state->path, ": ", msg); in gz_error()
562 strcpy(state->msg, state->path); in gz_error()
563 strcat(state->msg, ": "); in gz_error()
564 strcat(state->msg, msg); in gz_error()