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