zstd/zlibWrapper/gzclose.c

29 lines
849 B
C
Raw Normal View History

2016-11-29 17:02:34 +00:00
/* gzclose.c contains minimal changes required to be compiled with zlibWrapper:
* - gz_statep was converted to union to work with -Wstrict-aliasing=1 */
2016-11-24 17:26:30 +00:00
/* gzclose.c -- zlib gzclose() function
* Copyright (C) 2004, 2010 Mark Adler
2016-12-13 18:44:07 +00:00
* For conditions of distribution and use, see http://www.zlib.net/zlib_license.html
2016-11-24 17:26:30 +00:00
*/
#include "gzguts.h"
/* gzclose() is in a separate file so that it is linked in only if it is used.
That way the other gzclose functions can be used instead to avoid linking in
unneeded compression or decompression routines. */
int ZEXPORT gzclose(file)
gzFile file;
{
#ifndef NO_GZCOMPRESS
gz_statep state;
if (file == NULL)
return Z_STREAM_ERROR;
state.file = file;
2016-11-24 17:26:30 +00:00
2016-11-29 14:50:28 +00:00
return state.state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file);
2016-11-24 17:26:30 +00:00
#else
return gzclose_r(file);
#endif
}