X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..b77b87881bae2e6306366d79e7fe160334b3d4a2:/src/zlib/infblock.c?ds=sidebyside diff --git a/src/zlib/infblock.c b/src/zlib/infblock.c index f8940c7fab..437a3b130c 100644 --- a/src/zlib/infblock.c +++ b/src/zlib/infblock.c @@ -1,6 +1,6 @@ /* infblock.c -- interpret and process block types to last block - * Copyright (C) 1995-1998 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h + * Copyright (C) 1995-2002 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h */ #include "zutil.h" @@ -65,10 +65,14 @@ local const uInt border[] = { /* Order of the bit length code lengths */ */ +#if defined(__VISAGECPP__) /* Visualage can't handle this antiquated interface */ +void inflate_blocks_reset(inflate_blocks_statef* s, z_streamp z, uLongf* c) +#else void inflate_blocks_reset(s, z, c) inflate_blocks_statef *s; z_streamp z; uLongf *c; +#endif { if (c != Z_NULL) *c = s->check; @@ -85,11 +89,14 @@ uLongf *c; Tracev((stderr, "inflate: blocks reset\n")); } - +#if defined(__VISAGECPP__) /* Visualage can't handle this antiquated interface */ +inflate_blocks_statef *inflate_blocks_new(z_streamp z, check_func c, uInt w) +#else inflate_blocks_statef *inflate_blocks_new(z, c, w) z_streamp z; check_func c; uInt w; +#endif { inflate_blocks_statef *s; @@ -116,11 +123,14 @@ uInt w; return s; } - +#if defined(__VISAGECPP__) /* Visualage can't handle this antiquated interface */ +int inflate_blocks(inflate_blocks_statef* s, z_streamp z, int r) +#else int inflate_blocks(s, z, r) inflate_blocks_statef *s; z_streamp z; int r; +#endif { uInt t; /* temporary storage */ uLong b; /* bit buffer */ @@ -249,10 +259,12 @@ int r; &s->sub.trees.tb, s->hufts, z); if (t != Z_OK) { - ZFREE(z, s->sub.trees.blens); r = t; if (r == Z_DATA_ERROR) + { + ZFREE(z, s->sub.trees.blens); s->mode = BAD; + } LEAVE } s->sub.trees.index = 0; @@ -313,11 +325,13 @@ int r; t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f), s->sub.trees.blens, &bl, &bd, &tl, &td, s->hufts, z); - ZFREE(z, s->sub.trees.blens); if (t != Z_OK) { if (t == (uInt)Z_DATA_ERROR) + { + ZFREE(z, s->sub.trees.blens); s->mode = BAD; + } r = t; LEAVE } @@ -329,6 +343,7 @@ int r; } s->sub.decode.codes = c; } + ZFREE(z, s->sub.trees.blens); s->mode = CODES; case CODES: UPDATE @@ -345,13 +360,6 @@ int r; s->mode = TYPE; break; } - if (k > 7) /* return unused byte, if any */ - { - Assert(k < 16, "inflate_codes grabbed too many bytes") - k -= 8; - n++; - p--; /* can always return one */ - } s->mode = DRY; case DRY: FLUSH @@ -370,10 +378,13 @@ int r; } } - +#if defined(__VISAGECPP__) /* Visualage can't handle this antiquated interface */ +int inflate_blocks_free(inflate_blocks_statef* s, z_streamp z) +#else int inflate_blocks_free(s, z) inflate_blocks_statef *s; z_streamp z; +#endif { inflate_blocks_reset(s, z, Z_NULL); ZFREE(z, s->window); @@ -383,23 +394,29 @@ z_streamp z; return Z_OK; } - +#if defined(__VISAGECPP__) /* Visualage can't handle this antiquated interface */ +void inflate_set_dictionary(inflate_blocks_statef* s, const Bytef* d, uInt n) +#else void inflate_set_dictionary(s, d, n) inflate_blocks_statef *s; const Bytef *d; uInt n; +#endif { zmemcpy(s->window, d, n); s->read = s->write = s->window + n; } - /* Returns true if inflate is currently at the end of a block generated - * by Z_SYNC_FLUSH or Z_FULL_FLUSH. + * by Z_SYNC_FLUSH or Z_FULL_FLUSH. * IN assertion: s != Z_NULL */ +#if defined(__VISAGECPP__) /* Visualage can't handle this antiquated interface */ +int inflate_blocks_sync_point(inflate_blocks_statef* s) +#else int inflate_blocks_sync_point(s) inflate_blocks_statef *s; +#endif { return s->mode == LENS; }