diff options
author | Tobias Stoeckmann <tobias@stoeckmann.org> | 2022-06-13 18:46:00 +0200 |
---|---|---|
committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2023-03-17 21:27:56 +0100 |
commit | 87495d42a509b461c6cd3aa750cf562b931c0692 (patch) | |
tree | 0001241692f9d686e3fcf4db39399abaa5f4f7e9 | |
parent | 6e31371d8a056397e1e3b0e7ee76da4837df3093 (diff) |
Extend GZIP conditional
If gzip support has been disabled during compilation then also
consider gzip relevant states as invalid in deflateStateCheck.
Also the gzip state definitions can be removed.
This change leads to failure in test/example, and I am not sure
what the GZIP conditional is trying to achieve. All gzip related
functions are still defined in zlib.h
Alternative approach is to remove the GZIP define.
-rw-r--r-- | deflate.c | 2 | ||||
-rw-r--r-- | deflate.h | 16 |
2 files changed, 9 insertions, 9 deletions
@@ -406,11 +406,11 @@ static int deflateStateCheck (PREFIX3(stream) *strm) { if (s == NULL || s->strm != strm || (s->status != INIT_STATE && #ifdef GZIP s->status != GZIP_STATE && -#endif s->status != EXTRA_STATE && s->status != NAME_STATE && s->status != COMMENT_STATE && s->status != HCRC_STATE && +#endif s->status != BUSY_STATE && s->status != FINISH_STATE)) return 1; @@ -52,16 +52,16 @@ #define END_BLOCK 256 /* end of block literal code */ -#define INIT_STATE 42 /* zlib header -> BUSY_STATE */ +#define INIT_STATE 42 /* zlib header -> BUSY_STATE */ #ifdef GZIP -# define GZIP_STATE 57 /* gzip header -> BUSY_STATE | EXTRA_STATE */ +# define GZIP_STATE 57 /* gzip header -> BUSY_STATE | EXTRA_STATE */ +# define EXTRA_STATE 69 /* gzip extra block -> NAME_STATE */ +# define NAME_STATE 73 /* gzip file name -> COMMENT_STATE */ +# define COMMENT_STATE 91 /* gzip comment -> HCRC_STATE */ +# define HCRC_STATE 103 /* gzip header CRC -> BUSY_STATE */ #endif -#define EXTRA_STATE 69 /* gzip extra block -> NAME_STATE */ -#define NAME_STATE 73 /* gzip file name -> COMMENT_STATE */ -#define COMMENT_STATE 91 /* gzip comment -> HCRC_STATE */ -#define HCRC_STATE 103 /* gzip header CRC -> BUSY_STATE */ -#define BUSY_STATE 113 /* deflate -> FINISH_STATE */ -#define FINISH_STATE 666 /* stream complete */ +#define BUSY_STATE 113 /* deflate -> FINISH_STATE */ +#define FINISH_STATE 666 /* stream complete */ /* Stream status */ #define HASH_BITS 16u /* log2(HASH_SIZE) */ |