| 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. */ |
| 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 |
} |