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