cannam@89: /* gzclose.c -- zlib gzclose() function cannam@89: * Copyright (C) 2004, 2010 Mark Adler cannam@89: * For conditions of distribution and use, see copyright notice in zlib.h cannam@89: */ cannam@89: cannam@89: #include "gzguts.h" cannam@89: cannam@89: /* gzclose() is in a separate file so that it is linked in only if it is used. cannam@89: That way the other gzclose functions can be used instead to avoid linking in cannam@89: unneeded compression or decompression routines. */ cannam@89: int ZEXPORT gzclose(file) cannam@89: gzFile file; cannam@89: { cannam@89: #ifndef NO_GZCOMPRESS cannam@89: gz_statep state; cannam@89: cannam@89: if (file == NULL) cannam@89: return Z_STREAM_ERROR; cannam@89: state = (gz_statep)file; cannam@89: cannam@89: return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); cannam@89: #else cannam@89: return gzclose_r(file); cannam@89: #endif cannam@89: }