/* =========================================================================
* Check for a valid deflate stream state. Return 0 if ok, 1 if not.
*/
-static int deflateStateCheck (PREFIX3(stream) *strm) {
+static int deflateStateCheck(PREFIX3(stream) *strm) {
deflate_state *s;
if (strm == NULL || strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
return 1;
s = strm->state;
- if (s == NULL || s->strm != strm || (s->status != INIT_STATE &&
-#ifdef GZIP
- s->status != GZIP_STATE &&
- 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))
+ if (s == NULL || s->strm != strm || (s->status < INIT_STATE || s->status > MAX_STATE))
return 1;
return 0;
}
#define END_BLOCK 256
/* end of block literal code */
-#define INIT_STATE 42 /* zlib header -> BUSY_STATE */
+#define INIT_STATE 1 /* zlib header -> BUSY_STATE */
#ifdef GZIP
-# 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 */
+# define GZIP_STATE 4 /* gzip header -> BUSY_STATE | EXTRA_STATE */
+# define EXTRA_STATE 5 /* gzip extra block -> NAME_STATE */
+# define NAME_STATE 6 /* gzip file name -> COMMENT_STATE */
+# define COMMENT_STATE 7 /* gzip comment -> HCRC_STATE */
+# define HCRC_STATE 8 /* gzip header CRC -> BUSY_STATE */
+#endif
+#define BUSY_STATE 2 /* deflate -> FINISH_STATE */
+#define FINISH_STATE 3 /* stream complete */
+#ifdef GZIP
+# define MAX_STATE HCRC_STATE
+#else
+# define MAX_STATE FINISH_STATE
#endif
-#define BUSY_STATE 113 /* deflate -> FINISH_STATE */
-#define FINISH_STATE 666 /* stream complete */
/* Stream status */
#define HASH_BITS 16u /* log2(HASH_SIZE) */