1/* gzclose.c -- zlib gzclose() function
2 * Copyright (C) 2004, 2010 Mark Adler
3 * For conditions of distribution and use, see copyright notice in zlib.h
4 */
5
6#include "zbuild.h"
7#include "gzguts.h"
8
9/* gzclose() is in a separate file so that it is linked in only if it is used.
10 That way the other gzclose functions can be used instead to avoid linking in
11 unneeded compression or decompression routines. */
12int ZEXPORT PREFIX(gzclose)(gzFile file) {
13#ifndef NO_GZCOMPRESS
14 gz_state *state;
15
16 if (file == NULL)
17 return Z_STREAM_ERROR;
18 state = (gz_state *)file;
19
20 return state->mode == GZ_READ ? PREFIX(gzclose_r)(file) : PREFIX(gzclose_w)(file);
21#else
22 return PREFIX(gzclose_r)(file);
23#endif
24}
25