Ruby: ext/zlib/zlib-1.2.13/gzclose.c Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

gzclose.c
Go to the documentation of this file.
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}
gzclose
int ZEXPORT gzclose(gzFile file)
Definition: gzclose.c:11
gzguts.h
gz_statep
gz_state FAR * gz_statep
Definition: gzguts.h:203
GZ_READ
#define GZ_READ
Definition: gzguts.h:160
gzclose_r
int ZEXPORT gzclose_r(gzFile file)
Definition: gzread.c:623
gzclose_w
int ZEXPORT gzclose_w(gzFile file)
Definition: gzwrite.c:639
NULL
#define NULL
Definition: regenc.h:69
file
Definition: gzappend.c:170
gzFile_s
Definition: zlib.h:1834
state
Definition: blast.c:41
ZEXPORT
#define ZEXPORT
Definition: zconf.h:386
Z_STREAM_ERROR
#define Z_STREAM_ERROR
Definition: zlib.h:181