diff options
Diffstat (limited to 'ext/zlib/zlib.c')
-rw-r--r-- | ext/zlib/zlib.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index db2ba0d296..7aafbbdc77 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -1757,6 +1757,7 @@ gzfile_close(gz, closeflag) int closeflag; { VALUE io = gz->io; + gz->end(gz); gz->io = Qnil; gz->orig_name = Qnil; @@ -2157,6 +2158,7 @@ gzfile_writer_end(gz) gzfile_make_footer(gz); if (ZSTREAM_IS_FINALIZE(&gz->z)) { + if (NIL_P(gz->io)) return; rb_warn("Zlib::GzipWriter object must be closed explicitly."); if (OBJ_IS_FREED(gz->io)) { aborted = 1; |