aboutsummaryrefslogtreecommitdiff
path: root/zlib.h
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2011-10-18 23:05:37 -0700
committerMark Adler <madler@alumni.caltech.edu>2011-10-18 23:05:37 -0700
commit5ab9f47745fe9353291b217f705086b6070575d5 (patch)
tree0a6c69f912f56cdbd36328cc67e4637bde6208b9 /zlib.h
parent5b48d061c8c46bc19e6ad965157440880e5708b9 (diff)
downloadzlib-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.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/zlib.h b/zlib.h
index 99cd058..14a925b 100644
--- a/zlib.h
+++ b/zlib.h
@@ -83,7 +83,7 @@ typedef void (*free_func) OF((voidpf opaque, voidpf address));
83struct internal_state; 83struct internal_state;
84 84
85typedef struct z_stream_s { 85typedef 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 */