summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@stoeckmann.org>2022-06-13 18:46:00 +0200
committerHans Kristian Rosbach <hk-github@circlestorm.org>2023-03-17 21:27:56 +0100
commit87495d42a509b461c6cd3aa750cf562b931c0692 (patch)
tree0001241692f9d686e3fcf4db39399abaa5f4f7e9
parent6e31371d8a056397e1e3b0e7ee76da4837df3093 (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.c2
-rw-r--r--deflate.h16
2 files changed, 9 insertions, 9 deletions
diff --git a/deflate.c b/deflate.c
index f17fc2d..46181d8 100644
--- a/deflate.c
+++ b/deflate.c
@@ -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;
diff --git a/deflate.h b/deflate.h
index 1a1f4d1..525b3cd 100644
--- a/deflate.h
+++ b/deflate.h
@@ -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) */