116#if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64))
117#define PAD_AVAIL_IN 6
118#define PAD_AVAIL_OUT 258
120#define PAD_AVAIL_IN 5
121#define PAD_AVAIL_OUT 257
128 ar.
last = ar.
in + (
strm->avail_in - PAD_AVAIL_IN);
131 ar.
end = ar.
out + (
strm->avail_out - PAD_AVAIL_OUT);
146 while (((
size_t)(
void *)ar.
in & (
sizeof(ar.
hold) / 2 - 1)) != 0) {
147 ar.
hold += (
unsigned long)*ar.
in++ << ar.
bits;
155 strm->msg =
"invalid literal/length code";
157 strm->msg =
"invalid distance code";
159 strm->msg =
"invalid distance too far back";
162 else if ( ar.
status == 1 ) {
176 PAD_AVAIL_IN + (ar.
last - ar.
in) :
177 PAD_AVAIL_IN - (ar.
in - ar.
last));
178 strm->avail_out = (unsigned)(ar.
out < ar.
end ?
179 PAD_AVAIL_OUT + (ar.
end - ar.
out) :
180 PAD_AVAIL_OUT - (ar.
out - ar.
end));
181 state->
hold = (
unsigned long)ar.
hold;
struct inffast_ar type_ar
void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start)
unsigned char FAR * window
code const FAR * distcode
unsigned char FAR * window