diff options
Diffstat (limited to 'src/misc/zlib/gzclose.c')
-rw-r--r-- | src/misc/zlib/gzclose.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/misc/zlib/gzclose.c b/src/misc/zlib/gzclose.c new file mode 100644 index 00000000..07d6e0d9 --- /dev/null +++ b/src/misc/zlib/gzclose.c @@ -0,0 +1,33 @@ +/* gzclose.c -- zlib gzclose() function + * Copyright (C) 2004, 2010 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "abc_global.h" + +#include "gzguts.h" + +ABC_NAMESPACE_IMPL_START + +/* 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 ZEXPORT 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 +} + +ABC_NAMESPACE_IMPL_END |