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