diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2011-09-26 18:20:32 -0700 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2011-09-26 18:20:32 -0700 |
commit | 50e440f081a0edc293dcfe7333a91d764e3d15cd (patch) | |
tree | fba356e28c0424ea53a1465844c471f4cd42476c | |
parent | 5ad116abdad08c49b9ab20d748550eecd2c1d96d (diff) | |
download | zlib-50e440f081a0edc293dcfe7333a91d764e3d15cd.tar.gz zlib-50e440f081a0edc293dcfe7333a91d764e3d15cd.tar.bz2 zlib-50e440f081a0edc293dcfe7333a91d764e3d15cd.zip |
Allow gzrewind() and gzseek() after a premature end-of-file.
-rw-r--r-- | gzlib.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -265,7 +265,8 @@ int ZEXPORT gzrewind(file) | |||
265 | state = (gz_statep)file; | 265 | state = (gz_statep)file; |
266 | 266 | ||
267 | /* check that we're reading and that there's no error */ | 267 | /* check that we're reading and that there's no error */ |
268 | if (state->mode != GZ_READ || state->err != Z_OK) | 268 | if (state->mode != GZ_READ || |
269 | (state->err != Z_OK && state->err != Z_BUF_ERROR)) | ||
269 | return -1; | 270 | return -1; |
270 | 271 | ||
271 | /* back up and start over */ | 272 | /* back up and start over */ |
@@ -293,7 +294,7 @@ z_off64_t ZEXPORT gzseek64(file, offset, whence) | |||
293 | return -1; | 294 | return -1; |
294 | 295 | ||
295 | /* check that there's no error */ | 296 | /* check that there's no error */ |
296 | if (state->err != Z_OK) | 297 | if (state->err != Z_OK && state->err != Z_BUF_ERROR) |
297 | return -1; | 298 | return -1; |
298 | 299 | ||
299 | /* can only seek from start or relative to current position */ | 300 | /* can only seek from start or relative to current position */ |