aboutsummaryrefslogtreecommitdiff
path: root/gzlib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gzlib.c')
-rw-r--r--gzlib.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gzlib.c b/gzlib.c
index e53b6ab..d998d07 100644
--- a/gzlib.c
+++ b/gzlib.c
@@ -78,6 +78,7 @@ local void gz_reset(state)
78 state->x.have = 0; /* no output data available */ 78 state->x.have = 0; /* no output data available */
79 if (state->mode == GZ_READ) { /* for reading ... */ 79 if (state->mode == GZ_READ) { /* for reading ... */
80 state->eof = 0; /* not at end of file */ 80 state->eof = 0; /* not at end of file */
81 state->past = 0; /* have not read past end yet */
81 state->how = LOOK; /* look for gzip header */ 82 state->how = LOOK; /* look for gzip header */
82 } 83 }
83 state->seek = 0; /* no seek request pending */ 84 state->seek = 0; /* no seek request pending */
@@ -331,6 +332,7 @@ z_off64_t ZEXPORT gzseek64(file, offset, whence)
331 return -1; 332 return -1;
332 state->x.have = 0; 333 state->x.have = 0;
333 state->eof = 0; 334 state->eof = 0;
335 state->past = 0;
334 state->seek = 0; 336 state->seek = 0;
335 gz_error(state, Z_OK, NULL); 337 gz_error(state, Z_OK, NULL);
336 state->strm.avail_in = 0; 338 state->strm.avail_in = 0;
@@ -453,8 +455,7 @@ int ZEXPORT gzeof(file)
453 return 0; 455 return 0;
454 456
455 /* return end-of-file state */ 457 /* return end-of-file state */
456 return state->mode == GZ_READ ? 458 return state->mode == GZ_READ ? state->past : 0;
457 (state->eof && state->strm.avail_in == 0 && state->x.have == 0) : 0;
458} 459}
459 460
460/* -- see zlib.h -- */ 461/* -- see zlib.h -- */
@@ -491,8 +492,10 @@ void ZEXPORT gzclearerr(file)
491 return; 492 return;
492 493
493 /* clear error and end-of-file */ 494 /* clear error and end-of-file */
494 if (state->mode == GZ_READ) 495 if (state->mode == GZ_READ) {
495 state->eof = 0; 496 state->eof = 0;
497 state->past = 0;
498 }
496 gz_error(state, Z_OK, NULL); 499 gz_error(state, Z_OK, NULL);
497} 500}
498 501