21unsigned char FAR *window;
28 stream_size != (
int)(
sizeof(
z_stream)))
33 if (
strm->zalloc == (alloc_func)0) {
41 Tracev((stderr,
"inflate: allocated\n"));
80 puts(
" /* inffix9.h -- table for decoding deflate64 fixed codes");
81 puts(
" * Generated automatically by makefixed9().");
84 puts(
" /* WARNING: this file should *not* be used by applications.");
85 puts(
" It is part of the implementation of this library and is");
86 puts(
" subject to change. Applications should only use zlib.h.");
90 printf(
" static const code lenfix[%u] = {",
size);
93 if ((low % 6) == 0) printf(
"\n ");
94 printf(
"{%u,%u,%d}", lenfix[low].op, lenfix[low].
bits,
96 if (++low ==
size)
break;
101 printf(
"\n static const code distfix[%u] = {",
size);
104 if ((low % 5) == 0) printf(
"\n ");
105 printf(
"{%u,%u,%d}", distfix[low].op, distfix[low].
bits,
107 if (++low ==
size)
break;
128 have = in(in_desc, &next); \
143 hold += (unsigned long)(*next++) << bits; \
152 while (bits < (unsigned)(n)) \
158 ((unsigned)hold & ((1U << (n)) - 1))
164 bits -= (unsigned)(n); \
183 if (out(out_desc, put, (unsigned)left)) { \
226 unsigned char FAR *put;
239 unsigned char FAR *from;
248 static const unsigned short order[19] =
249 {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
287 Tracev((stderr,
"inflate: stored block%s\n",
288 lastblock ?
" (last)" :
""));
296 Tracev((stderr,
"inflate: fixed codes block%s\n",
297 lastblock ?
" (last)" :
""));
301 Tracev((stderr,
"inflate: dynamic codes block%s\n",
302 lastblock ?
" (last)" :
""));
306 strm->msg = (
char *)
"invalid block type";
316 if ((
hold & 0xffff) != ((
hold >> 16) ^ 0xffff)) {
317 strm->msg = (
char *)
"invalid stored block lengths";
322 Tracev((stderr,
"inflate: stored length %lu\n",
332 if (copy > left) copy = left;
340 Tracev((stderr,
"inflate: stored end\n"));
353 if (
state->nlen > 286) {
354 strm->msg = (
char *)
"too many length symbols";
358 Tracev((stderr,
"inflate: table sizes ok\n"));
367 while (
state->have < 19)
375 strm->msg = (
char *)
"invalid code lengths set";
379 Tracev((stderr,
"inflate: code lengths ok\n"));
386 if ((
unsigned)(here.
bits) <=
bits)
break;
395 if (here.
val == 16) {
398 if (
state->have == 0) {
399 strm->msg = (
char *)
"invalid bit length repeat";
407 else if (here.
val == 17) {
422 strm->msg = (
char *)
"invalid bit length repeat";
435 if (
state->lens[256] == 0) {
436 strm->msg = (
char *)
"invalid code -- missing end-of-block";
450 strm->msg = (
char *)
"invalid literal/lengths set";
460 strm->msg = (
char *)
"invalid distances set";
464 Tracev((stderr,
"inflate: codes ok\n"));
471 if ((
unsigned)(here.
bits) <=
bits)
break;
474 if (here.
op && (here.
op & 0xf0) == 0) {
490 "inflate: literal '%c'\n" :
491 "inflate: literal 0x%02x\n", here.
val));
493 *put++ = (
unsigned char)(
length);
501 Tracevv((stderr,
"inflate: end of block\n"));
508 strm->msg = (
char *)
"invalid literal/length code";
514 extra = (unsigned)(here.
op) & 31;
525 if ((
unsigned)(here.
bits) <=
bits)
break;
528 if ((here.
op & 0xf0) == 0) {
540 strm->msg = (
char *)
"invalid distance code";
547 extra = (
unsigned)(here.
op) & 15;
554 strm->msg = (
char *)
"invalid distance too far back";
613 Tracev((stderr,
"inflate: end\n"));
int bits(struct state *s, int need)
unsigned in(void *in_desc, z_const unsigned char **buf)
int ZEXPORT inflateBack9Init_(z_stream FAR *strm, unsigned char FAR *window, const char *version, int stream_size)
int ZEXPORT inflateBack9(z_stream FAR *strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc)
int ZEXPORT inflateBack9End(z_stream FAR *strm)
int inflate_table9(codetype type, unsigned short FAR *lens, unsigned codes, code FAR *FAR *table, unsigned FAR *bits, unsigned short FAR *work)
int fixed(struct state *s)
code const FAR * distcode
unsigned char FAR * window
if((ID)(DISPID) nameid !=nameid)
void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size)
#define ZALLOC(strm, items, size)
#define ZFREE(strm, addr)