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