aboutsummaryrefslogtreecommitdiff
path: root/gzread.c
diff options
context:
space:
mode:
Diffstat (limited to 'gzread.c')
-rw-r--r--gzread.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gzread.c b/gzread.c
index 4bbbf52..09e5863 100644
--- a/gzread.c
+++ b/gzread.c
@@ -553,7 +553,7 @@ int ZEXPORT gzdirect(file)
553int ZEXPORT gzclose_r(file) 553int ZEXPORT gzclose_r(file)
554 gzFile file; 554 gzFile file;
555{ 555{
556 int ret; 556 int ret, err;
557 gz_statep state; 557 gz_statep state;
558 558
559 /* get internal structure */ 559 /* get internal structure */
@@ -571,9 +571,10 @@ int ZEXPORT gzclose_r(file)
571 free(state->out); 571 free(state->out);
572 free(state->in); 572 free(state->in);
573 } 573 }
574 err = state->err == Z_BUF_ERROR ? Z_BUF_ERROR : Z_OK;
574 gz_error(state, Z_OK, NULL); 575 gz_error(state, Z_OK, NULL);
575 free(state->path); 576 free(state->path);
576 ret = close(state->fd); 577 ret = close(state->fd);
577 free(state); 578 free(state);
578 return ret ? Z_ERRNO : Z_OK; 579 return ret ? Z_ERRNO : err;
579} 580}