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