diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2011-10-18 23:05:37 -0700 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2011-10-18 23:05:37 -0700 |
commit | 5ab9f47745fe9353291b217f705086b6070575d5 (patch) | |
tree | 0a6c69f912f56cdbd36328cc67e4637bde6208b9 /zlib.h | |
parent | 5b48d061c8c46bc19e6ad965157440880e5708b9 (diff) | |
download | zlib-5ab9f47745fe9353291b217f705086b6070575d5.tar.gz zlib-5ab9f47745fe9353291b217f705086b6070575d5.tar.bz2 zlib-5ab9f47745fe9353291b217f705086b6070575d5.zip |
Add #define ZLIB_CONST option to use const in the z_stream interface.
This permits compilers to check for the proper treatment of next_in and
msg in the z_stream structure. This is an option instead of the default
in order to preserve backward compatibility. Some applications make use
of the z_stream structure outside of zlib, and perform operations such
as free(strm->next_in), which would not be permitted when next_in is
const. The #define ZLIB_CONST needs to precede the #include "zlib.h">,
in order to make next_in and msg const pointers in the z_stream type.
Diffstat (limited to 'zlib.h')
-rw-r--r-- | zlib.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -83,7 +83,7 @@ typedef void (*free_func) OF((voidpf opaque, voidpf address)); | |||
83 | struct internal_state; | 83 | struct internal_state; |
84 | 84 | ||
85 | typedef struct z_stream_s { | 85 | typedef struct z_stream_s { |
86 | Bytef *next_in; /* next input byte */ | 86 | z_const Bytef *next_in; /* next input byte */ |
87 | uInt avail_in; /* number of bytes available at next_in */ | 87 | uInt avail_in; /* number of bytes available at next_in */ |
88 | uLong total_in; /* total number of input bytes read so far */ | 88 | uLong total_in; /* total number of input bytes read so far */ |
89 | 89 | ||
@@ -91,7 +91,7 @@ typedef struct z_stream_s { | |||
91 | uInt avail_out; /* remaining free space at next_out */ | 91 | uInt avail_out; /* remaining free space at next_out */ |
92 | uLong total_out; /* total number of bytes output so far */ | 92 | uLong total_out; /* total number of bytes output so far */ |
93 | 93 | ||
94 | char *msg; /* last error message, NULL if no error */ | 94 | z_const char *msg; /* last error message, NULL if no error */ |
95 | struct internal_state FAR *state; /* not visible by applications */ | 95 | struct internal_state FAR *state; /* not visible by applications */ |
96 | 96 | ||
97 | alloc_func zalloc; /* used to allocate the internal state */ | 97 | alloc_func zalloc; /* used to allocate the internal state */ |