diff options
Diffstat (limited to 'deps/zlib/gzclose.c')
-rw-r--r-- | deps/zlib/gzclose.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/deps/zlib/gzclose.c b/deps/zlib/gzclose.c new file mode 100644 index 0000000..edeee03 --- /dev/null +++ b/deps/zlib/gzclose.c @@ -0,0 +1,27 @@ +/* gzclose.c -- zlib gzclose() function + * Copyright (C) 2004, 2010 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include "gzguts.h" + +extern int gzclose_w(gzFile file); +extern int gzclose_r(gzFile file); + +/* gzclose() is in a separate file so that it is linked in only if it is used. + That way the other gzclose functions can be used instead to avoid linking in + unneeded compression or decompression routines. */ +int gzclose(gzFile file) +{ +#ifndef NO_GZCOMPRESS + gz_statep state; + + if (file == NULL) + return Z_STREAM_ERROR; + state = (gz_statep)file; + + return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); +#else + return gzclose_r(file); +#endif +} |