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